@lcap/nasl 4.4.0-beta.3 → 4.4.0-beta.30

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 (268) hide show
  1. package/out/generator/genBundleFiles.d.ts +2 -0
  2. package/out/generator/genBundleFiles.d.ts.map +1 -1
  3. package/out/generator/genBundleFiles.js +77 -12
  4. package/out/generator/genBundleFiles.js.map +1 -1
  5. package/out/generator/icestark.d.ts +1 -1
  6. package/out/generator/icestark.d.ts.map +1 -1
  7. package/out/generator/icestark.js +6 -1
  8. package/out/generator/icestark.js.map +1 -1
  9. package/out/generator/qiankun.d.ts +1 -1
  10. package/out/generator/qiankun.d.ts.map +1 -1
  11. package/out/generator/qiankun.js +9 -3
  12. package/out/generator/qiankun.js.map +1 -1
  13. package/out/generator/release-body/body.d.ts +0 -1
  14. package/out/generator/release-body/body.d.ts.map +1 -1
  15. package/out/generator/release-body/body.js +1 -390
  16. package/out/generator/release-body/body.js.map +1 -1
  17. package/out/generator/release-body/data.d.ts.map +1 -1
  18. package/out/generator/release-body/data.js +38 -11
  19. package/out/generator/release-body/data.js.map +1 -1
  20. package/out/generator/release-body/internal.d.ts +1 -0
  21. package/out/generator/release-body/internal.d.ts.map +1 -1
  22. package/out/generator/release-body/internal.js.map +1 -1
  23. package/out/generator/release-body/share-content.js +1 -1
  24. package/out/generator/release-body/share-content.js.map +1 -1
  25. package/out/generator/release-body/types.d.ts +2 -0
  26. package/out/generator/release-body/types.d.ts.map +1 -1
  27. package/out/generator/release-body/utils.d.ts +1 -0
  28. package/out/generator/release-body/utils.d.ts.map +1 -1
  29. package/out/generator/release-body/utils.js +2 -1
  30. package/out/generator/release-body/utils.js.map +1 -1
  31. package/out/generator/templates/chunk.js +1 -1
  32. package/out/generator/templates/runtime.js +2 -2
  33. package/out/generator/wujie.d.ts +1 -1
  34. package/out/generator/wujie.d.ts.map +1 -1
  35. package/out/generator/wujie.js +6 -1
  36. package/out/generator/wujie.js.map +1 -1
  37. package/out/natural/exports/nasl2Files.d.ts +34 -0
  38. package/out/natural/exports/nasl2Files.d.ts.map +1 -0
  39. package/out/natural/exports/nasl2Files.js +237 -0
  40. package/out/natural/exports/nasl2Files.js.map +1 -0
  41. package/out/natural/{transform2BatchActions.d.ts → exports/transform2BatchActions.d.ts} +20 -2
  42. package/out/natural/exports/transform2BatchActions.d.ts.map +1 -0
  43. package/out/natural/exports/transform2BatchActions.js +1233 -0
  44. package/out/natural/exports/transform2BatchActions.js.map +1 -0
  45. package/out/natural/index.d.ts +12 -12
  46. package/out/natural/index.d.ts.map +1 -1
  47. package/out/natural/index.js +12 -14
  48. package/out/natural/index.js.map +1 -1
  49. package/out/natural/{genNaturalTS.d.ts → old/getContext/genNaturalTS.d.ts} +12 -12
  50. package/out/natural/old/getContext/genNaturalTS.d.ts.map +1 -0
  51. package/out/natural/{genNaturalTS.js → old/getContext/genNaturalTS.js} +65 -65
  52. package/out/natural/old/getContext/genNaturalTS.js.map +1 -0
  53. package/out/natural/old/getContext/genTextualNASL.d.ts.map +1 -0
  54. package/out/natural/old/getContext/genTextualNASL.js.map +1 -0
  55. package/out/natural/{getContext → old/getContext}/getUILib.d.ts +1 -1
  56. package/out/natural/old/getContext/getUILib.d.ts.map +1 -0
  57. package/out/natural/{getContext → old/getContext}/getUILib.js +14 -14
  58. package/out/natural/old/getContext/getUILib.js.map +1 -0
  59. package/out/natural/{getContext → old/getContext}/index.d.ts +3 -3
  60. package/out/natural/old/getContext/index.d.ts.map +1 -0
  61. package/out/natural/{getContext → old/getContext}/index.js +4 -4
  62. package/out/natural/old/getContext/index.js.map +1 -0
  63. package/out/natural/old/getContext/naslStdlibMap.d.ts.map +1 -0
  64. package/out/natural/{getContext → old/getContext}/naslStdlibMap.js +10 -10
  65. package/out/natural/old/getContext/naslStdlibMap.js.map +1 -0
  66. package/out/natural/{transformTS2UI.d.ts → old/parser/transformTS2UI.d.ts} +2 -2
  67. package/out/natural/old/parser/transformTS2UI.d.ts.map +1 -0
  68. package/out/natural/{transformTS2UI.js → old/parser/transformTS2UI.js} +13 -14
  69. package/out/natural/old/parser/transformTS2UI.js.map +1 -0
  70. package/out/natural/{transformTSCode.d.ts → old/parser/transformTSCode.d.ts} +1 -1
  71. package/out/natural/old/parser/transformTSCode.d.ts.map +1 -0
  72. package/out/natural/{transformTSCode.js → old/parser/transformTSCode.js} +32 -8
  73. package/out/natural/old/parser/transformTSCode.js.map +1 -0
  74. package/out/natural/{tools.d.ts → old/tools.d.ts} +0 -4
  75. package/out/natural/old/tools.d.ts.map +1 -0
  76. package/out/natural/{tools.js → old/tools.js} +7 -25
  77. package/out/natural/old/tools.js.map +1 -0
  78. package/out/natural/{parseNaturalTS.d.ts → parser/parseNaturalTS.d.ts} +9 -2
  79. package/out/natural/parser/parseNaturalTS.d.ts.map +1 -0
  80. package/out/natural/{parseNaturalTS.js → parser/parseNaturalTS.js} +119 -38
  81. package/out/natural/parser/parseNaturalTS.js.map +1 -0
  82. package/out/natural/{parseNaturalTSXView.d.ts → parser/parseNaturalTSXView.d.ts} +1 -2
  83. package/out/natural/parser/parseNaturalTSXView.d.ts.map +1 -0
  84. package/out/natural/{parseNaturalTSXView.js → parser/parseNaturalTSXView.js} +181 -139
  85. package/out/natural/parser/parseNaturalTSXView.js.map +1 -0
  86. package/out/natural/transforms/checker/checkDataQueryCalleeNameOrder.d.ts +7 -0
  87. package/out/natural/transforms/checker/checkDataQueryCalleeNameOrder.d.ts.map +1 -0
  88. package/out/natural/transforms/checker/checkDataQueryCalleeNameOrder.js +38 -0
  89. package/out/natural/transforms/checker/checkDataQueryCalleeNameOrder.js.map +1 -0
  90. package/out/natural/transforms/checker/checkDefaultValue.d.ts +14 -0
  91. package/out/natural/transforms/checker/checkDefaultValue.d.ts.map +1 -0
  92. package/out/natural/transforms/checker/checkDefaultValue.js +39 -0
  93. package/out/natural/transforms/checker/checkDefaultValue.js.map +1 -0
  94. package/out/natural/transforms/checker/checkLcapEntity.d.ts +16 -0
  95. package/out/natural/transforms/checker/checkLcapEntity.d.ts.map +1 -0
  96. package/out/natural/transforms/checker/checkLcapEntity.js +337 -0
  97. package/out/natural/transforms/checker/checkLcapEntity.js.map +1 -0
  98. package/out/natural/transforms/checker/checkValidationCalleeName.d.ts +3 -0
  99. package/out/natural/transforms/checker/checkValidationCalleeName.d.ts.map +1 -0
  100. package/out/natural/transforms/checker/checkValidationCalleeName.js +88 -0
  101. package/out/natural/transforms/checker/checkValidationCalleeName.js.map +1 -0
  102. package/out/natural/transforms/checker/checkViewElement.d.ts +29 -0
  103. package/out/natural/transforms/checker/checkViewElement.d.ts.map +1 -0
  104. package/out/natural/transforms/checker/checkViewElement.js +618 -0
  105. package/out/natural/transforms/checker/checkViewElement.js.map +1 -0
  106. package/out/natural/transforms/checker/index.d.ts +19 -0
  107. package/out/natural/transforms/checker/index.d.ts.map +1 -0
  108. package/out/natural/transforms/checker/index.js +30 -0
  109. package/out/natural/transforms/checker/index.js.map +1 -0
  110. package/out/natural/transforms/transform2Entity.d.ts +13 -1
  111. package/out/natural/transforms/transform2Entity.d.ts.map +1 -1
  112. package/out/natural/transforms/transform2Entity.js +172 -17
  113. package/out/natural/transforms/transform2Entity.js.map +1 -1
  114. package/out/natural/transforms/transform2Enum.d.ts +1 -1
  115. package/out/natural/transforms/transform2Enum.d.ts.map +1 -1
  116. package/out/natural/transforms/transform2Enum.js +5 -1
  117. package/out/natural/transforms/transform2Enum.js.map +1 -1
  118. package/out/natural/transforms/transform2GlobalLogicDeclaration.d.ts +2 -2
  119. package/out/natural/transforms/transform2GlobalLogicDeclaration.d.ts.map +1 -1
  120. package/out/natural/transforms/transform2GlobalLogicDeclaration.js +18 -4
  121. package/out/natural/transforms/transform2GlobalLogicDeclaration.js.map +1 -1
  122. package/out/natural/transforms/transform2Logic.d.ts +4 -4
  123. package/out/natural/transforms/transform2Logic.d.ts.map +1 -1
  124. package/out/natural/transforms/transform2Logic.js +58 -17
  125. package/out/natural/transforms/transform2Logic.js.map +1 -1
  126. package/out/natural/transforms/transform2LogicItem.d.ts +11 -4
  127. package/out/natural/transforms/transform2LogicItem.d.ts.map +1 -1
  128. package/out/natural/transforms/transform2LogicItem.js +279 -178
  129. package/out/natural/transforms/transform2LogicItem.js.map +1 -1
  130. package/out/natural/transforms/transform2MetadataType.d.ts +1 -1
  131. package/out/natural/transforms/transform2MetadataType.d.ts.map +1 -1
  132. package/out/natural/transforms/transform2MetadataType.js +1 -1
  133. package/out/natural/transforms/transform2MetadataType.js.map +1 -1
  134. package/out/natural/transforms/transform2Param.d.ts +4 -0
  135. package/out/natural/transforms/transform2Param.d.ts.map +1 -0
  136. package/out/natural/transforms/transform2Param.js +114 -0
  137. package/out/natural/transforms/transform2Param.js.map +1 -0
  138. package/out/natural/transforms/transform2Structure.d.ts +1 -1
  139. package/out/natural/transforms/transform2Structure.d.ts.map +1 -1
  140. package/out/natural/transforms/transform2Structure.js +13 -2
  141. package/out/natural/transforms/transform2Structure.js.map +1 -1
  142. package/out/natural/transforms/transform2TypeAnnotation.d.ts +1 -1
  143. package/out/natural/transforms/transform2TypeAnnotation.d.ts.map +1 -1
  144. package/out/natural/transforms/transform2TypeAnnotation.js +3 -3
  145. package/out/natural/transforms/transform2TypeAnnotation.js.map +1 -1
  146. package/out/natural/transforms/transform2ValidationRule.d.ts +2 -2
  147. package/out/natural/transforms/transform2ValidationRule.d.ts.map +1 -1
  148. package/out/natural/transforms/transform2ValidationRule.js +6 -1
  149. package/out/natural/transforms/transform2ValidationRule.js.map +1 -1
  150. package/out/natural/transforms/transform2Variable.d.ts +4 -3
  151. package/out/natural/transforms/transform2Variable.d.ts.map +1 -1
  152. package/out/natural/transforms/transform2Variable.js +57 -6
  153. package/out/natural/transforms/transform2Variable.js.map +1 -1
  154. package/out/natural/transforms/transformThemeAndStyle.d.ts +5 -2
  155. package/out/natural/transforms/transformThemeAndStyle.d.ts.map +1 -1
  156. package/out/natural/transforms/transformThemeAndStyle.js +26 -13
  157. package/out/natural/transforms/transformThemeAndStyle.js.map +1 -1
  158. package/out/natural/transforms/utils/createComponentLookupMap.d.ts +32 -0
  159. package/out/natural/transforms/utils/createComponentLookupMap.d.ts.map +1 -0
  160. package/out/natural/transforms/utils/createComponentLookupMap.js +57 -0
  161. package/out/natural/transforms/utils/createComponentLookupMap.js.map +1 -0
  162. package/out/natural/transforms/utils/iconNames.d.ts +2 -0
  163. package/out/natural/transforms/utils/iconNames.d.ts.map +1 -0
  164. package/out/natural/transforms/utils/iconNames.js +299 -0
  165. package/out/natural/transforms/utils/iconNames.js.map +1 -0
  166. package/out/natural/transforms/utils/misc.d.ts +16 -0
  167. package/out/natural/transforms/utils/misc.d.ts.map +1 -0
  168. package/out/natural/transforms/utils/misc.js +240 -0
  169. package/out/natural/transforms/utils/misc.js.map +1 -0
  170. package/out/natural/transforms/utils/normalizeNode.d.ts +3 -0
  171. package/out/natural/transforms/utils/normalizeNode.d.ts.map +1 -0
  172. package/out/natural/transforms/utils/normalizeNode.js +15 -0
  173. package/out/natural/transforms/utils/normalizeNode.js.map +1 -0
  174. package/out/natural/transforms/utils/parseDecorator.d.ts +74 -0
  175. package/out/natural/transforms/utils/parseDecorator.d.ts.map +1 -0
  176. package/out/natural/transforms/utils/parseDecorator.js +252 -0
  177. package/out/natural/transforms/utils/parseDecorator.js.map +1 -0
  178. package/out/natural/transforms/utils/transform2Directory.d.ts +59 -0
  179. package/out/natural/transforms/utils/transform2Directory.d.ts.map +1 -0
  180. package/out/natural/transforms/utils/transform2Directory.js +229 -0
  181. package/out/natural/transforms/utils/transform2Directory.js.map +1 -0
  182. package/out/natural/{transforms/utils.d.ts → utils/index.d.ts} +35 -18
  183. package/out/natural/utils/index.d.ts.map +1 -0
  184. package/out/natural/utils/index.js +206 -0
  185. package/out/natural/utils/index.js.map +1 -0
  186. package/out/natural/utils/nasl-file-types.d.ts +45 -0
  187. package/out/natural/utils/nasl-file-types.d.ts.map +1 -0
  188. package/out/natural/utils/nasl-file-types.js +131 -0
  189. package/out/natural/utils/nasl-file-types.js.map +1 -0
  190. package/out/server/OQL/sqlDbTypes.json +717 -0
  191. package/out/server/createUiTs.d.ts +0 -1
  192. package/out/server/createUiTs.d.ts.map +1 -1
  193. package/out/server/createUiTs.js +1 -118
  194. package/out/server/createUiTs.js.map +1 -1
  195. package/out/server/extendBaseNode.d.ts.map +1 -1
  196. package/out/server/extendBaseNode.js +17 -0
  197. package/out/server/extendBaseNode.js.map +1 -1
  198. package/out/server/findReference.js +1 -1
  199. package/out/server/findReference.js.map +1 -1
  200. package/out/server/naslServer.d.ts +0 -1
  201. package/out/server/naslServer.d.ts.map +1 -1
  202. package/out/server/naslServer.js +66 -55
  203. package/out/server/naslServer.js.map +1 -1
  204. package/out/server/translator.js.map +1 -1
  205. package/out/service/autofix/rules/rule-convert-incompatible-assignment-to-union.js.map +1 -1
  206. package/out/service/creator/add.configs.js +1 -1
  207. package/out/service/creator/add.configs.js.map +1 -1
  208. package/out/service/storage/init.d.ts +1 -1
  209. package/out/service/storage/init.d.ts.map +1 -1
  210. package/out/service/storage/init.js +26 -9
  211. package/out/service/storage/init.js.map +1 -1
  212. package/out/service/storage/specTools.d.ts +20 -8
  213. package/out/service/storage/specTools.d.ts.map +1 -1
  214. package/out/service/storage/specTools.js +157 -5
  215. package/out/service/storage/specTools.js.map +1 -1
  216. package/out/templator/block2nasl/jsx2nasl/transform-func2nasl.d.ts +4 -0
  217. package/out/templator/block2nasl/jsx2nasl/transform-func2nasl.d.ts.map +1 -1
  218. package/out/templator/block2nasl/jsx2nasl/transform-func2nasl.js +20 -1
  219. package/out/templator/block2nasl/jsx2nasl/transform-func2nasl.js.map +1 -1
  220. package/out/templator/block2nasl/jsx2nasl/transform-tsx2nasl.d.ts.map +1 -1
  221. package/out/templator/block2nasl/jsx2nasl/transform-tsx2nasl.js +28 -1
  222. package/out/templator/block2nasl/jsx2nasl/transform-tsx2nasl.js.map +1 -1
  223. package/out/templator/block2nasl/transformBlock2Nasl.js +2 -2
  224. package/out/templator/block2nasl/transformBlock2Nasl.js.map +1 -1
  225. package/out/templator/block2nasl/viewMergeBlock.js +3 -2
  226. package/out/templator/block2nasl/viewMergeBlock.js.map +1 -1
  227. package/out/utils/can-i-use.d.ts.map +1 -1
  228. package/out/utils/can-i-use.js +1 -0
  229. package/out/utils/can-i-use.js.map +1 -1
  230. package/package.json +9 -9
  231. package/sandbox/stdlib/nasl.core.ts +2 -0
  232. package/sandbox/stdlib/nasl.io.ts +1 -1
  233. package/sandbox/stdlib/nasl.oql.ts +2 -0
  234. package/sandbox/stdlib/nasl.util.ts +1 -1
  235. package/sandbox/stdlib/nasl.validation.ts +50 -14
  236. package/out/natural/genNaturalTS.d.ts.map +0 -1
  237. package/out/natural/genNaturalTS.js.map +0 -1
  238. package/out/natural/genTextualNASL.d.ts.map +0 -1
  239. package/out/natural/genTextualNASL.js.map +0 -1
  240. package/out/natural/getContext/getUILib.d.ts.map +0 -1
  241. package/out/natural/getContext/getUILib.js.map +0 -1
  242. package/out/natural/getContext/index.d.ts.map +0 -1
  243. package/out/natural/getContext/index.js.map +0 -1
  244. package/out/natural/getContext/nasl2Files.d.ts +0 -15
  245. package/out/natural/getContext/nasl2Files.d.ts.map +0 -1
  246. package/out/natural/getContext/nasl2Files.js +0 -75
  247. package/out/natural/getContext/nasl2Files.js.map +0 -1
  248. package/out/natural/getContext/naslStdlibMap.d.ts.map +0 -1
  249. package/out/natural/getContext/naslStdlibMap.js.map +0 -1
  250. package/out/natural/parseNaturalTS.d.ts.map +0 -1
  251. package/out/natural/parseNaturalTS.js.map +0 -1
  252. package/out/natural/parseNaturalTSXView.d.ts.map +0 -1
  253. package/out/natural/parseNaturalTSXView.js.map +0 -1
  254. package/out/natural/tools.d.ts.map +0 -1
  255. package/out/natural/tools.js.map +0 -1
  256. package/out/natural/transform2BatchActions.d.ts.map +0 -1
  257. package/out/natural/transform2BatchActions.js +0 -387
  258. package/out/natural/transform2BatchActions.js.map +0 -1
  259. package/out/natural/transformTS2UI.d.ts.map +0 -1
  260. package/out/natural/transformTS2UI.js.map +0 -1
  261. package/out/natural/transformTSCode.d.ts.map +0 -1
  262. package/out/natural/transformTSCode.js.map +0 -1
  263. package/out/natural/transforms/utils.d.ts.map +0 -1
  264. package/out/natural/transforms/utils.js +0 -407
  265. package/out/natural/transforms/utils.js.map +0 -1
  266. /package/out/natural/{genTextualNASL.d.ts → old/getContext/genTextualNASL.d.ts} +0 -0
  267. /package/out/natural/{genTextualNASL.js → old/getContext/genTextualNASL.js} +0 -0
  268. /package/out/natural/{getContext → old/getContext}/naslStdlibMap.d.ts +0 -0
@@ -23,41 +23,26 @@ var __importStar = (this && this.__importStar) || function (mod) {
23
23
  return result;
24
24
  };
25
25
  Object.defineProperty(exports, "__esModule", { value: true });
26
- exports.parseNaturalTSXView = exports.transformTSDeclareFunction2View = exports.transform2View = exports.transformJSXElement2ViewElement = exports.transform2Variables = void 0;
26
+ exports.parseNaturalTSXView = exports.transformTSDeclareFunction2View = exports.transform2View = exports.transformJSXElement2ViewElement = void 0;
27
27
  /* eslint-disable global-require */
28
28
  /* eslint-disable @typescript-eslint/no-use-before-define */
29
- const utils_1 = require("./transforms/utils");
29
+ const utils_1 = require("../utils");
30
+ const parseDecorator_1 = require("../transforms/utils/parseDecorator");
31
+ const checkViewElement_1 = require("../transforms/checker/checkViewElement");
30
32
  const lodash_1 = require("lodash");
31
33
  const babel = __importStar(require("@babel/core"));
32
- const utils_2 = require("../utils");
33
- const transform2TypeAnnotation_1 = require("./transforms/transform2TypeAnnotation");
34
- const transform2LogicItem_1 = require("./transforms/transform2LogicItem");
35
- const transform2Logic_1 = require("./transforms/transform2Logic");
36
- const transform2ValidationRule_1 = require("./transforms/transform2ValidationRule");
37
- const transformThemeAndStyle_1 = require("./transforms/transformThemeAndStyle");
38
- function transform2Variables(node, options) {
39
- const variables = [];
40
- const declList = node?.declarations || [];
41
- declList.forEach((decl) => {
42
- const variableName = decl.id.name;
43
- let typeAnnotation = (0, transform2TypeAnnotation_1.transform2TypeAnnotation)(decl.id.typeAnnotation?.typeAnnotation, options) || undefined;
44
- const variable = new utils_1.naslTypes.Variable({
45
- name: variableName,
46
- typeAnnotation,
47
- });
48
- if (decl.init) {
49
- variable.defaultValue = new utils_1.naslTypes.DefaultValue({
50
- expression: (0, transform2LogicItem_1.transform2LogicItem)(decl.init, { ...options, transformType: 'attr', typeAnnotation, isRestricted: true, isInFrontend: true }),
51
- });
52
- }
53
- variables.push(variable);
54
- });
55
- return variables;
56
- }
57
- exports.transform2Variables = transform2Variables;
34
+ const transform2LogicItem_1 = require("../transforms/transform2LogicItem");
35
+ const transform2Param_1 = require("../transforms/transform2Param");
36
+ const transform2Variable_1 = require("../transforms/transform2Variable");
37
+ const transform2Logic_1 = require("../transforms/transform2Logic");
38
+ const transform2ValidationRule_1 = require("../transforms/transform2ValidationRule");
39
+ const transformThemeAndStyle_1 = require("../transforms/transformThemeAndStyle");
40
+ const checkViewElement_2 = require("../transforms/checker/checkViewElement");
41
+ const transform2Directory_1 = require("../transforms/utils/transform2Directory");
42
+ const normalizeNode_1 = require("../transforms/utils/normalizeNode");
58
43
  function transform2EventLogics(node, eventName, options) {
59
44
  if (node.type === 'FunctionExpression' || node.type === 'ArrowFunctionExpression') {
60
- const logic = (0, transform2Logic_1.transform2Logic)(node, eventName, { ...options, logicType: 'event_logic' });
45
+ const logic = (0, transform2Logic_1.transform2Logic)((0, normalizeNode_1.normalizeArrowFunctionBody)(node), eventName, undefined, { ...options, logicType: 'event_logic' });
61
46
  logic.params = [];
62
47
  return [logic];
63
48
  }
@@ -66,7 +51,7 @@ function transform2EventLogics(node, eventName, options) {
66
51
  const args = node.arguments;
67
52
  return args.map((node) => {
68
53
  if (node.type === 'FunctionExpression' || node.type === 'ArrowFunctionExpression') {
69
- const logic = (0, transform2Logic_1.transform2Logic)(node, eventName, { ...options, logicType: 'event_logic' });
54
+ const logic = (0, transform2Logic_1.transform2Logic)((0, normalizeNode_1.normalizeArrowFunctionBody)(node), eventName, undefined, { ...options, logicType: 'event_logic' });
70
55
  logic.params = [];
71
56
  return logic;
72
57
  }
@@ -86,54 +71,25 @@ function transform2EventLogics(node, eventName, options) {
86
71
  return (0, utils_1.throwError)(options, '事件逻辑参数不正确', node);
87
72
  }
88
73
  }
89
- function handleDirectoryItem(directoryItem, nextStatement, view, options, callerName) {
90
- let definitionItem = null;
91
- if (nextStatement.type === 'VariableDeclaration') {
92
- // 处理变量声明
93
- const variables = transform2Variables(nextStatement, options);
94
- definitionItem = variables[0];
95
- }
96
- else if (nextStatement.type === 'FunctionDeclaration') {
97
- // 处理函数/逻辑声明
98
- definitionItem = (0, transform2Logic_1.transform2Logic)(nextStatement, undefined, { ...options, logicType: 'view_logic' });
99
- }
100
- else {
101
- const functionName = callerName || '$Variable';
102
- (0, utils_1.throwError)(options, `${functionName} 后面必须跟变量声明或函数声明`, nextStatement);
103
- }
104
- if (!definitionItem)
105
- return null;
106
- const referredConcept = definitionItem.concept;
107
- const definition = new utils_1.naslTypes.ReferredDefinition({
108
- referredConcept,
109
- name: definitionItem.name,
110
- namespace: '',
111
- });
112
- // 将定义添加到目录
113
- if (!view.directories?.find((dir) => dir.name === directoryItem.name)) {
114
- directoryItem.definitions = [definition];
115
- view.addDirectory(directoryItem);
116
- }
117
- else {
118
- const existingDirectory = view.directories.find((dir) => dir.name === directoryItem.name);
119
- const hasDefinition = existingDirectory?.definitions.find((def) => def.name === definitionItem.name && def.referredConcept === referredConcept);
120
- if (!hasDefinition) {
121
- existingDirectory?.definitions.push(definition);
122
- }
123
- }
124
- // 将实际的变量或逻辑添加到视图
125
- if (referredConcept === 'Variable') {
126
- view.addVariable(definitionItem);
127
- }
128
- else if (referredConcept === 'Logic') {
129
- view.addLogic(definitionItem);
130
- }
131
- return definitionItem;
132
- }
133
74
  function transformJSXElement2ViewElement(node, options) {
134
75
  const el = node.openingElement;
135
- if (el.name.type === 'JSXIdentifier') {
136
- let tag = (0, lodash_1.kebabCase)(el.name.name);
76
+ const parentNode = node;
77
+ if (el.name.type === 'JSXIdentifier' || el.name.type === 'JSXMemberExpression') {
78
+ let name = '';
79
+ if (el.name.type === 'JSXMemberExpression') {
80
+ const fullPath = (0, utils_1.generate)(el.name).code;
81
+ if (!/^uilibs\.[^.]+\.components\.[^.]+$/.test(fullPath)) {
82
+ return (0, utils_1.throwError)(options, `扩展组件需书写完整命名空间,格式为 uilibs.依赖名.components.组件名(示例:uilibs.cw_chart_js.components.CwChartJs),实际得到:${fullPath}`, node);
83
+ }
84
+ name = el.name.property.name;
85
+ }
86
+ else {
87
+ name = el.name.name;
88
+ }
89
+ let tag = (0, lodash_1.kebabCase)(name);
90
+ if (['span', 'div'].includes(tag)) {
91
+ return (0, utils_1.throwError)(options, `不支持的JSX子元素 ${tag}, 请使用 ElFlex`, node);
92
+ }
137
93
  if (tag === 'el-form-date-time-picker')
138
94
  tag = 'el-form-date-picker';
139
95
  if (tag === 'el-form-input-date')
@@ -142,6 +98,20 @@ function transformJSXElement2ViewElement(node, options) {
142
98
  tag = 'el-form-input';
143
99
  if (tag === 'el-form-item')
144
100
  tag = 'el-form-input';
101
+ if (el.name.type === 'JSXIdentifier' && !tag.startsWith('el-')) {
102
+ return (0, utils_1.throwError)(options, `基础组件无需命名空间,扩展组件需书写完整命名空间(示例:uilibs.cw_chart_js.components.CwChartJs),你可能忘记写扩展组件的命名空间了`, node);
103
+ }
104
+ const rootOnlyComponents = ['el-dialog', 'el-message-box', 'el-drawer', 'el-message', 'el-notification'];
105
+ if (rootOnlyComponents.includes(tag) && !options.isRootLevel) {
106
+ return (0, utils_1.throwError)(options, `${name} 组件只能出现在 View 的顶层, 例如:
107
+ return <>
108
+ ...
109
+ <${name} .../>
110
+ </>
111
+ `, node);
112
+ }
113
+ // 检查父组件约束
114
+ (0, checkViewElement_1.validateParentConstraints)(tag, options, node);
145
115
  const viewElement = new utils_1.naslTypes.ViewElement({
146
116
  tag,
147
117
  });
@@ -150,17 +120,28 @@ function transformJSXElement2ViewElement(node, options) {
150
120
  let eventPrefix = 'on';
151
121
  let slotPrefix = 'slot';
152
122
  function addJSXChild(node, slotTarget = 'default', slotScope = '') {
123
+ // 子元素调用时,统一设置为非根层级
124
+ const childOptions = { ...options, parentTag: tag, isRootLevel: false };
125
+ // 如果是 default slot,检查父组件是否支持 slotDefault
126
+ if (slotTarget === 'default' && options.componentsMap) {
127
+ const componentInfo = options.componentsMap.get(tag);
128
+ if (componentInfo && !componentInfo.slotsMap.get('slotDefault')) {
129
+ const supportedSlots = componentInfo.component?.slotNames;
130
+ const slotTip = supportedSlots ? `,当前支持的插槽有:${supportedSlots}` : '';
131
+ return (0, utils_1.throwError)(options, `组件 ${name} 不支持子组件(无 slotDefault 插槽)${slotTip}`, parentNode);
132
+ }
133
+ }
153
134
  if (node.type === 'JSXElement') {
154
135
  if (slotTarget === 'default' && !slotScope) {
155
- const child = transformJSXElement2ViewElement(node, options);
136
+ const child = transformJSXElement2ViewElement(node, childOptions);
156
137
  child && viewElement.children.push(child);
157
138
  }
158
139
  else {
159
- const child = transformJSXElement2ViewElement(node, options);
160
- let templateName = 'template_' + (0, utils_2.uuidv4)().slice(0, 5);
140
+ const child = transformJSXElement2ViewElement(node, childOptions);
141
+ let templateName = 'template_' + (0, utils_1.uuidv4)().slice(0, 5);
161
142
  // 确保模板名称也不重复
162
143
  while (options.nameMap.has(templateName)) {
163
- templateName = 'template_' + (0, utils_2.uuidv4)().slice(0, 5);
144
+ templateName = 'template_' + (0, utils_1.uuidv4)().slice(0, 5);
164
145
  }
165
146
  options.nameMap.set(templateName, true);
166
147
  const templateChild = new utils_1.naslTypes.ViewElement({
@@ -170,21 +151,19 @@ function transformJSXElement2ViewElement(node, options) {
170
151
  slotScope,
171
152
  children: child ? [child] : [],
172
153
  });
173
- if (viewElement.children.some((child) => child.tag === 'template' && child.slotTarget === slotTarget))
174
- (0, utils_1.throwError)(options, `slot${(0, utils_2.firstUpperCase)(slotTarget)} 不能重复`, node);
175
154
  viewElement.children.push(templateChild);
176
155
  }
177
156
  }
178
157
  else if (node.type === 'JSXFragment') {
179
158
  const children = node.children;
180
159
  if (slotTarget === 'default' && !slotScope) {
181
- viewElement.children.push(...children.filter((child) => child.type === 'JSXElement').map((child) => transformJSXElement2ViewElement(child, options)).filter(Boolean));
160
+ viewElement.children.push(...children.filter((child) => child.type === 'JSXElement').map((child) => transformJSXElement2ViewElement(child, childOptions)).filter(Boolean));
182
161
  }
183
162
  else {
184
- let templateName = 'template_' + (0, utils_2.uuidv4)().slice(0, 5);
163
+ let templateName = 'template_' + (0, utils_1.uuidv4)().slice(0, 5);
185
164
  // 确保模板名称也不重复
186
165
  while (options.nameMap.has(templateName)) {
187
- templateName = 'template_' + (0, utils_2.uuidv4)().slice(0, 5);
166
+ templateName = 'template_' + (0, utils_1.uuidv4)().slice(0, 5);
188
167
  }
189
168
  options.nameMap.set(templateName, true);
190
169
  const templateChild = new utils_1.naslTypes.ViewElement({
@@ -192,10 +171,8 @@ function transformJSXElement2ViewElement(node, options) {
192
171
  name: templateName,
193
172
  slotTarget,
194
173
  slotScope,
195
- children: children.filter((child) => child.type === 'JSXElement').map((child) => transformJSXElement2ViewElement(child, options)).filter(Boolean),
174
+ children: children.filter((child) => child.type === 'JSXElement').map((child) => transformJSXElement2ViewElement(child, childOptions)).filter(Boolean),
196
175
  });
197
- if (viewElement.children.some((child) => child.tag === 'template' && child.slotTarget === slotTarget))
198
- (0, utils_1.throwError)(options, `slot${(0, utils_2.firstUpperCase)(slotTarget)} 不能重复`, node);
199
176
  viewElement.children.push(templateChild);
200
177
  }
201
178
  }
@@ -338,16 +315,22 @@ function transformJSXElement2ViewElement(node, options) {
338
315
  else {
339
316
  return (0, utils_1.throwError)(options, '不支持的指令类型', attr.value.type, attr.value);
340
317
  }
341
- if (directiveName !== 'for') {
318
+ const directiveWhitelist = ['if', 'auth'];
319
+ if (directiveWhitelist.includes(directiveName)) {
342
320
  viewElement.addBindDirective(directive);
343
321
  }
322
+ else {
323
+ return (0, utils_1.throwError)(options, '不支持的指令名称', directiveName);
324
+ }
344
325
  }
345
326
  else if (attrName.startsWith(eventPrefix)) {
346
- const eventName = (0, utils_2.firstLowerCase)(attrName.slice(eventPrefix.length));
327
+ const eventName = (0, lodash_1.kebabCase)(attrName.slice(eventPrefix.length));
328
+ const logicName = eventName.replace(/-/g, '');
329
+ (0, checkViewElement_1.validateComponentFeature)(tag, 'event', attrName, options, attr);
347
330
  if (attr.value?.type === 'JSXExpressionContainer') {
348
331
  const bindEvent = new utils_1.naslTypes.BindEvent({
349
332
  name: eventName,
350
- logics: transform2EventLogics(attr.value.expression, eventName, options) || [],
333
+ logics: transform2EventLogics(attr.value.expression, logicName, options) || [],
351
334
  });
352
335
  viewElement.addBindEvent(bindEvent);
353
336
  }
@@ -356,7 +339,8 @@ function transformJSXElement2ViewElement(node, options) {
356
339
  }
357
340
  }
358
341
  else if (attrName.startsWith(slotPrefix)) {
359
- const slotTarget = (0, utils_2.firstLowerCase)(attrName.slice(slotPrefix.length));
342
+ const slotTarget = (0, utils_1.firstLowerCase)(attrName.slice(slotPrefix.length));
343
+ (0, checkViewElement_1.validateComponentFeature)(tag, 'slot', attrName, options, attr);
360
344
  if (attr.value?.type === 'JSXExpressionContainer') {
361
345
  const expression = attr.value.expression;
362
346
  if (expression.type === 'JSXElement' || expression.type === 'JSXFragment') {
@@ -399,6 +383,7 @@ function transformJSXElement2ViewElement(node, options) {
399
383
  viewElement.addBindAttribute(bindAttribute);
400
384
  }
401
385
  else {
386
+ (0, checkViewElement_1.validateComponentFeature)(tag, 'prop', attrName, options, attr);
402
387
  const bindAttribute = new utils_1.naslTypes.BindAttribute({
403
388
  name: attrName,
404
389
  });
@@ -411,9 +396,13 @@ function transformJSXElement2ViewElement(node, options) {
411
396
  bindAttribute.value = attr.value.value;
412
397
  }
413
398
  else if (attr.value.type === 'JSXExpressionContainer') {
414
- if (attr.value.expression.type === 'BooleanLiteral' || attr.value.expression.type === 'NumericLiteral' || attr.value.expression.type === 'NullLiteral' || attr.value.expression.type === 'StringLiteral') {
399
+ if (attr.value.expression.type === 'BooleanLiteral' || attr.value.expression.type === 'NumericLiteral') {
415
400
  bindAttribute.type = 'static';
416
- bindAttribute.value = (0, utils_1.generate)(attr.value.expression).code;
401
+ bindAttribute.value = attr.value.expression.value;
402
+ }
403
+ else if (attr.value.expression.type === 'StringLiteral') {
404
+ bindAttribute.type = 'string';
405
+ bindAttribute.value = attr.value.expression.value;
417
406
  }
418
407
  else {
419
408
  let expr = attr.value.expression;
@@ -449,6 +438,12 @@ function transformJSXElement2ViewElement(node, options) {
449
438
  isRestricted: attrName !== 'dataSource',
450
439
  isInFrontend: true,
451
440
  });
441
+ if (attr.name.name === 'destination' && expression.concept !== 'Destination') {
442
+ return (0, utils_1.throwError)(options, 'destination 属性值必须使用 nasl.ui.destination', attr);
443
+ }
444
+ if (attr.name.name === 'externalDestination' && expression.concept !== 'ExternalDestination') {
445
+ return (0, utils_1.throwError)(options, 'externalDestination 属性值必须使用 nasl.ui.gotoLink', attr);
446
+ }
452
447
  if (expression?.concept === 'Destination') {
453
448
  bindAttribute.destination = expression;
454
449
  }
@@ -476,7 +471,7 @@ function transformJSXElement2ViewElement(node, options) {
476
471
  ~index && viewElement.bindAttrs.splice(index, 1);
477
472
  }
478
473
  }
479
- node.children.forEach((child) => {
474
+ node.children.forEach((child, index) => {
480
475
  if (child.type === 'JSXElement' || child.type === 'JSXFragment') {
481
476
  addJSXChild(child);
482
477
  }
@@ -486,6 +481,17 @@ function transformJSXElement2ViewElement(node, options) {
486
481
  addJSXChild(expression);
487
482
  }
488
483
  else if (expression.type === 'ArrowFunctionExpression') {
484
+ if (index > 0) {
485
+ const previousNode = node.children[index - 1];
486
+ if (previousNode?.type === 'JSXText') {
487
+ const trimmedValue = previousNode.value.trim();
488
+ const isSlotAssignment = trimmedValue.startsWith('slot') && trimmedValue.endsWith('=');
489
+ if (isSlotAssignment) {
490
+ const positionCode = (0, utils_1.generate)(previousNode).code + '{' + (0, utils_1.generate)(expression).code + '}';
491
+ return (0, utils_1.throwError)(options, '不支持的JSX子元素类型', positionCode, node);
492
+ }
493
+ }
494
+ }
489
495
  addArrowFunctionJSXChild(expression);
490
496
  }
491
497
  else if (expression.type === 'JSXEmptyExpression') {
@@ -502,11 +508,13 @@ function transformJSXElement2ViewElement(node, options) {
502
508
  return (0, utils_1.throwError)(options, '不支持的JSX子元素类型', child.type, child);
503
509
  }
504
510
  });
511
+ // 对 ViewElement 进行校验
512
+ (0, checkViewElement_2.checkViewElement)({ viewElement, node, options });
505
513
  if (!viewElement.name) {
506
- let generatedName = viewElement.tag.replace(/-/g, '_') + '_' + (0, utils_2.uuidv4)().slice(0, 5);
514
+ let generatedName = viewElement.tag.replace(/-/g, '_') + '_' + (0, utils_1.uuidv4)().slice(0, 5);
507
515
  // 确保生成的名称也不重复
508
516
  while (options.nameMap.has(generatedName)) {
509
- generatedName = viewElement.tag.replace(/-/g, '_') + '_' + (0, utils_2.uuidv4)().slice(0, 5);
517
+ generatedName = viewElement.tag.replace(/-/g, '_') + '_' + (0, utils_1.uuidv4)().slice(0, 5);
510
518
  }
511
519
  viewElement.name = generatedName;
512
520
  options.nameMap.set(generatedName, true);
@@ -529,7 +537,7 @@ function transform2View(func, decorator, options) {
529
537
  const opts = { ...options, nameMap };
530
538
  if (decorator) {
531
539
  if (decorator.arguments[0].type === 'ObjectExpression') {
532
- const viewObj = (0, utils_1.pickDecoratorObject)(decorator.arguments[0], new Set([
540
+ const viewObj = (0, parseDecorator_1.pickDecoratorObject)(decorator.arguments[0], new Set([
533
541
  'pageTemplateId',
534
542
  'uuid',
535
543
  'title',
@@ -537,8 +545,11 @@ function transform2View(func, decorator, options) {
537
545
  'auth',
538
546
  'authDescription',
539
547
  'isIndex',
540
- ]), options);
548
+ ]), {}, options);
541
549
  Object.assign(view, viewObj);
550
+ if (view.auth) {
551
+ view.bindRoles = ["DEV-AdminRole"];
552
+ }
542
553
  view.crumb = new utils_1.naslTypes.StaticString({
543
554
  value: viewObj.crumb,
544
555
  });
@@ -549,7 +560,7 @@ function transform2View(func, decorator, options) {
549
560
  }
550
561
  func.params.forEach((param) => {
551
562
  if (param.type === 'Identifier') {
552
- const _param = (0, transform2LogicItem_1.transform2Param)(param, { ...options, transformType: 'attr' });
563
+ const _param = (0, transform2Param_1.transform2Param)(param, { ...options, transformType: 'attr' });
553
564
  _param && view.params.push(_param);
554
565
  }
555
566
  else if (param.type === 'ObjectPattern') {
@@ -583,7 +594,7 @@ function transform2View(func, decorator, options) {
583
594
  }
584
595
  });
585
596
  Object.values(propertyMap).forEach((property) => {
586
- const param = (0, transform2LogicItem_1.transform2Param)(property, { ...options, transformType: 'attr' });
597
+ const param = (0, transform2Param_1.transform2Param)(property, { ...options, transformType: 'attr' });
587
598
  param && view.params.push(param);
588
599
  });
589
600
  }
@@ -591,50 +602,49 @@ function transform2View(func, decorator, options) {
591
602
  for (let index = 0; index < statements.length; index++) {
592
603
  const statement = statements[index];
593
604
  if (statement.type === 'VariableDeclaration') {
594
- const variables = transform2Variables(statement, { ...options });
595
- variables.forEach((variable) => {
596
- view.addVariable(variable);
597
- });
605
+ // 检查前一个语句是否是 $Variable 装饰器调用
606
+ const decorator = (0, utils_1.getDecoratorCall)(statements[index - 1], 'Variable');
607
+ const variables = (0, transform2Variable_1.transform2Variables)(statement, decorator, { ...options });
608
+ if (decorator) {
609
+ // 有装饰器时需要处理 directory
610
+ variables.forEach((variable) => {
611
+ (0, transform2Directory_1.handleDirectory)(view, variable, 'View');
612
+ view.addVariable(variable);
613
+ });
614
+ }
615
+ else {
616
+ // 无装饰器:直接添加
617
+ variables.forEach((variable) => {
618
+ view.addVariable(variable);
619
+ });
620
+ }
598
621
  }
599
622
  else if (statement.type === 'FunctionDeclaration') {
600
- const logic = (0, transform2Logic_1.transform2Logic)(statement, undefined, { ...options, logicType: 'view_logic' });
623
+ // 检查前一个语句是否是 $Logic 装饰器调用
624
+ const decorator = (0, utils_1.getDecoratorCall)(statements[index - 1], 'Logic');
625
+ const logic = (0, transform2Logic_1.transform2Logic)(statement, undefined, decorator, { ...options, logicType: 'view_logic' });
626
+ if (decorator) {
627
+ // 有装饰器时需要处理 directory
628
+ (0, transform2Directory_1.handleDirectory)(view, logic, 'View');
629
+ }
601
630
  view.addLogic(logic);
602
631
  }
603
632
  else if (statement.type === 'ExpressionStatement' && statement.expression.type === 'CallExpression') {
604
633
  const expression = statement.expression;
605
634
  if (expression.callee.type == 'Identifier' && expression.callee.name.startsWith('on')) {
606
- const eventName = (0, utils_2.firstLowerCase)(expression.callee.name.slice(2));
635
+ // 处理事件绑定
636
+ const eventName = (0, lodash_1.kebabCase)(expression.callee.name.slice(2));
637
+ const logicName = eventName.replace(/-/g, '');
607
638
  const arg = expression.arguments[0];
608
639
  const bindEvent = new utils_1.naslTypes.BindEvent({
609
640
  name: eventName,
610
- logics: transform2EventLogics(arg, eventName, { ...options }) || [],
641
+ logics: transform2EventLogics(arg, logicName, { ...options }) || [],
611
642
  });
612
643
  view.addBindEvent(bindEvent);
613
644
  }
614
645
  else if (expression.callee.type == 'Identifier' && expression.callee.name.startsWith('$')) {
615
- if (expression?.arguments[0]?.type === 'ObjectExpression') {
616
- const { properties } = expression?.arguments[0];
617
- const directoryNode = properties.find((item) => item.key?.name === 'directory');
618
- if (directoryNode) {
619
- const directoryItem = (0, transform2LogicItem_1.transformNode2Directory)(directoryNode);
620
- if (directoryItem) {
621
- const nextStatement = statements[index + 1];
622
- if (nextStatement) {
623
- const definitionItem = handleDirectoryItem(directoryItem, nextStatement, view, { ...options }, expression.callee.name);
624
- if (definitionItem) {
625
- // 跳过下一个语句,因为已经处理过了
626
- index++;
627
- }
628
- }
629
- }
630
- else {
631
- return (0, utils_1.throwError)(options, '不支持的定义类型', directoryNode);
632
- }
633
- }
634
- }
635
- else {
636
- return (0, utils_1.throwError)(options, '不支持的表达式', statement);
637
- }
646
+ // 装饰器调用语句本身,跳过(会在处理下一个语句时一起处理)
647
+ continue;
638
648
  }
639
649
  else {
640
650
  return (0, utils_1.throwError)(options, '不支持的表达式', statement);
@@ -643,11 +653,11 @@ function transform2View(func, decorator, options) {
643
653
  else if (statement.type === 'ReturnStatement') {
644
654
  const arg = statement.argument;
645
655
  if (arg.type === 'JSXElement') {
646
- const child = transformJSXElement2ViewElement(arg, opts);
656
+ const child = transformJSXElement2ViewElement(arg, { ...opts, isRootLevel: true });
647
657
  view.elements = child ? [child] : [];
648
658
  }
649
659
  else if (arg.type === 'JSXFragment') {
650
- view.elements = arg.children.filter((child) => child.type === 'JSXElement').map((child) => transformJSXElement2ViewElement(child, opts)).filter(Boolean);
660
+ view.elements = arg.children.filter((child) => child.type === 'JSXElement').map((child) => transformJSXElement2ViewElement(child, { ...opts, isRootLevel: true })).filter(Boolean);
651
661
  }
652
662
  else {
653
663
  return (0, utils_1.throwError)(options, '返回值不正确', arg);
@@ -667,7 +677,7 @@ function transformTSDeclareFunction2View(func, decorator, options) {
667
677
  options.nodeName = view.name;
668
678
  if (decorator) {
669
679
  if (decorator.arguments[0].type === 'ObjectExpression') {
670
- const viewObj = (0, utils_1.pickDecoratorObject)(decorator.arguments[0], new Set([
680
+ const viewObj = (0, parseDecorator_1.pickDecoratorObject)(decorator.arguments[0], new Set([
671
681
  'pageTemplateId',
672
682
  'uuid',
673
683
  'title',
@@ -675,7 +685,7 @@ function transformTSDeclareFunction2View(func, decorator, options) {
675
685
  'auth',
676
686
  'authDescription',
677
687
  'isIndex',
678
- ]), options);
688
+ ]), {}, options);
679
689
  Object.assign(view, viewObj);
680
690
  view.crumb = new utils_1.naslTypes.StaticString({
681
691
  value: viewObj.crumb,
@@ -687,9 +697,44 @@ function transformTSDeclareFunction2View(func, decorator, options) {
687
697
  }
688
698
  func.params.forEach((param) => {
689
699
  if (param.type === 'Identifier') {
690
- const _param = (0, transform2LogicItem_1.transform2Param)(param, { ...options, transformType: 'attr' });
700
+ const _param = (0, transform2Param_1.transform2Param)(param, { ...options, transformType: 'attr' });
691
701
  _param && view.params.push(_param);
692
702
  }
703
+ else if (param.type === 'ObjectPattern') {
704
+ const propertyMap = {};
705
+ param.properties.forEach((property) => {
706
+ if (property.type === 'ObjectProperty') {
707
+ if (property.value.type === 'Identifier') {
708
+ propertyMap[property.value.name] = {
709
+ type: 'AssignmentPattern',
710
+ left: property.value,
711
+ right: undefined,
712
+ };
713
+ }
714
+ else if (property.value.type === 'AssignmentPattern') {
715
+ propertyMap[property.value.left.name] = property.value;
716
+ }
717
+ else {
718
+ return (0, utils_1.throwError)(options, '不支持的参数类型', property.value.type, property.value);
719
+ }
720
+ }
721
+ });
722
+ const type = param.typeAnnotation?.typeAnnotation;
723
+ if (!type)
724
+ return (0, utils_1.throwError)(options, 'param 没有对应的类型', param);
725
+ type.members.forEach((member) => {
726
+ if (member.type === 'TSPropertySignature') {
727
+ const name = member.key.name;
728
+ if (propertyMap[name]) {
729
+ propertyMap[name].left.typeAnnotation = member.typeAnnotation;
730
+ }
731
+ }
732
+ });
733
+ Object.values(propertyMap).forEach((property) => {
734
+ const _param = (0, transform2Param_1.transform2Param)(property, { ...options, transformType: 'attr' });
735
+ _param && view.params.push(_param);
736
+ });
737
+ }
693
738
  });
694
739
  return view;
695
740
  }
@@ -700,16 +745,13 @@ function parseNaturalTSXView(tsCode, options) {
700
745
  presets: [require('@babel/preset-typescript')],
701
746
  });
702
747
  let func;
703
- let funcIndex = 0;
704
748
  let decorator;
705
749
  root.program.body.forEach((statement, index) => {
706
750
  if (statement.type === 'ExportNamedDeclaration' && statement.declaration.type === 'FunctionDeclaration') {
707
751
  func = statement.declaration;
708
- funcIndex = index;
709
752
  }
710
753
  else if (statement.type === 'FunctionDeclaration') {
711
754
  func = statement;
712
- funcIndex = index;
713
755
  }
714
756
  const prevStatement = root.program.body[index - 1];
715
757
  if (prevStatement?.type === 'ExpressionStatement' && prevStatement.expression.type === 'CallExpression' && prevStatement.expression.callee.type === 'Identifier' && prevStatement.expression.callee.name === '$View') {
@@ -0,0 +1 @@
1
+ {"version":3,"file":"parseNaturalTSXView.js","sourceRoot":"","sources":["../../../src/natural/parser/parseNaturalTSXView.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,7 @@
1
+ /**
2
+ * 检查 数据查询 调用名称的顺序是否正确
3
+ * @param calleeNames 数据查询 调用名称数组
4
+ * @returns 顺序是否正确
5
+ */
6
+ export declare function checkDataQueryCalleeNameOrder(calleeNames: Array<string>): boolean;
7
+ //# sourceMappingURL=checkDataQueryCalleeNameOrder.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"checkDataQueryCalleeNameOrder.d.ts","sourceRoot":"","sources":["../../../../src/natural/transforms/checker/checkDataQueryCalleeNameOrder.ts"],"names":[],"mappings":"AAaA;;;;GAIG;AACH,wBAAgB,6BAA6B,CAAC,WAAW,EAAE,KAAK,CAAC,MAAM,CAAC,WAmBvE"}