@lcap/nasl 3.6.0-alpha.1 → 3.6.0-alpha.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 (245) hide show
  1. package/out/bak/translator.js +119 -39
  2. package/out/bak/translator.js.map +1 -1
  3. package/out/breakpoint/generator/BreakpointNode.d.ts +3 -0
  4. package/out/breakpoint/generator/BreakpointNode.js +9 -0
  5. package/out/breakpoint/generator/BreakpointNode.js.map +1 -1
  6. package/out/breakpoint/shared/constants.js +1 -0
  7. package/out/breakpoint/shared/constants.js.map +1 -1
  8. package/out/breakpoint/shared/utils.js +12 -6
  9. package/out/breakpoint/shared/utils.js.map +1 -1
  10. package/out/breakpoint/store/core.js +1 -1
  11. package/out/breakpoint/store/core.js.map +1 -1
  12. package/out/common/BaseNode.d.ts +1 -4
  13. package/out/common/BaseNode.js +23 -37
  14. package/out/common/BaseNode.js.map +1 -1
  15. package/out/concepts/AnonymousFunction__.d.ts +6 -1
  16. package/out/concepts/AnonymousFunction__.js +34 -16
  17. package/out/concepts/AnonymousFunction__.js.map +1 -1
  18. package/out/concepts/App__.d.ts +55 -51
  19. package/out/concepts/App__.js +76 -80
  20. package/out/concepts/App__.js.map +1 -1
  21. package/out/concepts/BackendVariable__.js +10 -2
  22. package/out/concepts/BackendVariable__.js.map +1 -1
  23. package/out/concepts/BindAttribute__.js +16 -6
  24. package/out/concepts/BindAttribute__.js.map +1 -1
  25. package/out/concepts/BindDirective__.d.ts +1 -0
  26. package/out/concepts/BindDirective__.js +19 -4
  27. package/out/concepts/BindDirective__.js.map +1 -1
  28. package/out/concepts/BindEvent__.d.ts +3 -1
  29. package/out/concepts/BindEvent__.js +39 -14
  30. package/out/concepts/BindEvent__.js.map +1 -1
  31. package/out/concepts/BusinessComponent__.d.ts +641 -0
  32. package/out/concepts/BusinessComponent__.js +1921 -0
  33. package/out/concepts/BusinessComponent__.js.map +1 -0
  34. package/out/concepts/BusinessLogic__.d.ts +38 -0
  35. package/out/concepts/BusinessLogic__.js +358 -0
  36. package/out/concepts/BusinessLogic__.js.map +1 -0
  37. package/out/concepts/CallEvent__.d.ts +101 -0
  38. package/out/concepts/CallEvent__.js +280 -0
  39. package/out/concepts/CallEvent__.js.map +1 -0
  40. package/out/concepts/CallFunction__.d.ts +0 -1
  41. package/out/concepts/CallFunction__.js +10 -10
  42. package/out/concepts/CallFunction__.js.map +1 -1
  43. package/out/concepts/CallLogic__.d.ts +2 -0
  44. package/out/concepts/CallLogic__.js +38 -27
  45. package/out/concepts/CallLogic__.js.map +1 -1
  46. package/out/concepts/Constant__.js +7 -6
  47. package/out/concepts/Constant__.js.map +1 -1
  48. package/out/concepts/Destination__.d.ts +1 -1
  49. package/out/concepts/Destination__.js +7 -5
  50. package/out/concepts/Destination__.js.map +1 -1
  51. package/out/concepts/End__.js +2 -1
  52. package/out/concepts/End__.js.map +1 -1
  53. package/out/concepts/Event__.d.ts +14 -0
  54. package/out/concepts/Event__.js +61 -0
  55. package/out/concepts/Event__.js.map +1 -1
  56. package/out/concepts/FrontendType__.d.ts +308 -0
  57. package/out/concepts/FrontendType__.js +605 -0
  58. package/out/concepts/FrontendType__.js.map +1 -0
  59. package/out/concepts/Frontend__.d.ts +0 -88
  60. package/out/concepts/Frontend__.js +1 -143
  61. package/out/concepts/Frontend__.js.map +1 -1
  62. package/out/concepts/Identifier__.d.ts +5 -0
  63. package/out/concepts/Identifier__.js +19 -9
  64. package/out/concepts/Identifier__.js.map +1 -1
  65. package/out/concepts/LogicItem__.d.ts +1 -1
  66. package/out/concepts/LogicItem__.js.map +1 -1
  67. package/out/concepts/Logic__.d.ts +3 -1
  68. package/out/concepts/Logic__.js +31 -21
  69. package/out/concepts/Logic__.js.map +1 -1
  70. package/out/concepts/Match__.d.ts +1 -1
  71. package/out/concepts/MemberExpression__.d.ts +1 -1
  72. package/out/concepts/MemberExpression__.js +3 -3
  73. package/out/concepts/MemberExpression__.js.map +1 -1
  74. package/out/concepts/NewComposite__.js.map +1 -1
  75. package/out/concepts/ParamWithGroup__.d.ts +39 -0
  76. package/out/concepts/ParamWithGroup__.js +85 -0
  77. package/out/concepts/ParamWithGroup__.js.map +1 -0
  78. package/out/concepts/Param__.js +11 -3
  79. package/out/concepts/Param__.js.map +1 -1
  80. package/out/concepts/ProcessElement__.js +9 -1
  81. package/out/concepts/ProcessElement__.js.map +1 -1
  82. package/out/concepts/Return__.js +17 -9
  83. package/out/concepts/Return__.js.map +1 -1
  84. package/out/concepts/ValidationRule__.js +2 -1
  85. package/out/concepts/ValidationRule__.js.map +1 -1
  86. package/out/concepts/Variable__.js +17 -8
  87. package/out/concepts/Variable__.js.map +1 -1
  88. package/out/concepts/ViewElement__.d.ts +17 -1
  89. package/out/concepts/ViewElement__.js +145 -16
  90. package/out/concepts/ViewElement__.js.map +1 -1
  91. package/out/concepts/View__.js +21 -20
  92. package/out/concepts/View__.js.map +1 -1
  93. package/out/concepts/index__.d.ts +5 -0
  94. package/out/concepts/index__.js +5 -0
  95. package/out/concepts/index__.js.map +1 -1
  96. package/out/concepts/utils/asserts.d.ts +258 -3
  97. package/out/concepts/utils/asserts.js +351 -13
  98. package/out/concepts/utils/asserts.js.map +1 -1
  99. package/out/concepts/utils/types.d.ts +20 -3
  100. package/out/generator/genBundleFiles.js +25 -11
  101. package/out/generator/genBundleFiles.js.map +1 -1
  102. package/out/generator/genReleaseBody.js +12 -3
  103. package/out/generator/genReleaseBody.js.map +1 -1
  104. package/out/generator/permission.js +3 -3
  105. package/out/generator/permission.js.map +1 -1
  106. package/out/natural/transformTSCode.js +1 -1
  107. package/out/natural/transformTSCode.js.map +1 -1
  108. package/out/server/extendBaseNode.js +6 -4
  109. package/out/server/extendBaseNode.js.map +1 -1
  110. package/out/server/getLogics.js +62 -27
  111. package/out/server/getLogics.js.map +1 -1
  112. package/out/server/getMemberIdentifier.js +6 -1
  113. package/out/server/getMemberIdentifier.js.map +1 -1
  114. package/out/server/getProcesses.js +3 -3
  115. package/out/server/getProcesses.js.map +1 -1
  116. package/out/server/naslServer.js +40 -19
  117. package/out/server/naslServer.js.map +1 -1
  118. package/out/server/translator.js +6 -1
  119. package/out/server/translator.js.map +1 -1
  120. package/out/service/storage/init.js +1 -2
  121. package/out/service/storage/init.js.map +1 -1
  122. package/out/templator/genCreateBlock.js +6 -6
  123. package/out/templator/genCreateBlock.js.map +1 -1
  124. package/out/templator/genCurdEditMultipleKeyBlock.js +16 -16
  125. package/out/templator/genCurdEditMultipleKeyBlock.js.map +1 -1
  126. package/out/templator/genCurdMultipleKeyBlock.js +36 -36
  127. package/out/templator/genCurdMultipleKeyBlock.js.map +1 -1
  128. package/out/templator/genGetBlock.js +6 -5
  129. package/out/templator/genGetBlock.js.map +1 -1
  130. package/out/templator/genGridViewBlock.js +12 -12
  131. package/out/templator/genGridViewBlock.js.map +1 -1
  132. package/out/templator/genListViewBlock.js +4 -4
  133. package/out/templator/genListViewBlock.js.map +1 -1
  134. package/out/templator/genSelectBlock.js +3 -3
  135. package/out/templator/genSelectBlock.js.map +1 -1
  136. package/out/templator/genTableBlock.js +10 -10
  137. package/out/templator/genTableBlock.js.map +1 -1
  138. package/out/templator/genUpdateBlock.js +10 -9
  139. package/out/templator/genUpdateBlock.js.map +1 -1
  140. package/out/templator/utils.d.ts +2 -2
  141. package/out/templator/utils.js.map +1 -1
  142. package/out/translator/utils.js +12 -1
  143. package/out/translator/utils.js.map +1 -1
  144. package/out/utils/i18nInfo.js +7 -2
  145. package/out/utils/i18nInfo.js.map +1 -1
  146. package/out/utils/index.d.ts +17 -0
  147. package/out/utils/index.js +184 -1
  148. package/out/utils/index.js.map +1 -1
  149. package/package.json +2 -2
  150. package/src/bak/translator.js +121 -43
  151. package/src/breakpoint/generator/BreakpointNode.ts +12 -0
  152. package/src/breakpoint/shared/constants.ts +1 -0
  153. package/src/breakpoint/shared/utils.ts +13 -8
  154. package/src/breakpoint/store/core.ts +1 -1
  155. package/src/common/BaseNode.ts +22 -41
  156. package/src/concepts/AnonymousFunction__.ts +36 -18
  157. package/src/concepts/App__.ts +129 -130
  158. package/src/concepts/BackendVariable__.ts +10 -2
  159. package/src/concepts/BindAttribute__.ts +14 -6
  160. package/src/concepts/BindDirective__.ts +19 -4
  161. package/src/concepts/BindEvent__.ts +41 -13
  162. package/src/concepts/BusinessComponent__.ts +2693 -0
  163. package/src/concepts/BusinessLogic__.ts +376 -0
  164. package/src/concepts/CallEvent__.ts +351 -0
  165. package/src/concepts/CallFunction__.ts +10 -13
  166. package/src/concepts/CallLogic__.ts +45 -32
  167. package/src/concepts/Constant__.ts +5 -7
  168. package/src/concepts/Destination__.ts +7 -5
  169. package/src/concepts/End__.ts +1 -0
  170. package/src/concepts/Event__.ts +70 -0
  171. package/src/concepts/FrontendType__.ts +919 -0
  172. package/src/concepts/Frontend__.ts +3 -251
  173. package/src/concepts/Identifier__.ts +29 -13
  174. package/src/concepts/LogicItem__.ts +1 -0
  175. package/src/concepts/Logic__.ts +36 -23
  176. package/src/concepts/MemberExpression__.ts +3 -3
  177. package/src/concepts/NewComposite__.ts +4 -6
  178. package/src/concepts/ParamWithGroup__.ts +101 -0
  179. package/src/concepts/Param__.ts +11 -3
  180. package/src/concepts/ProcessElement__.ts +8 -1
  181. package/src/concepts/Return__.ts +15 -12
  182. package/src/concepts/ValidationRule__.ts +6 -1
  183. package/src/concepts/Variable__.ts +17 -9
  184. package/src/concepts/ViewElement__.ts +168 -33
  185. package/src/concepts/View__.ts +23 -20
  186. package/src/concepts/index__.ts +5 -0
  187. package/src/concepts/utils/asserts.ts +367 -4
  188. package/src/concepts/utils/types.ts +28 -0
  189. package/src/generator/genBundleFiles.ts +33 -15
  190. package/src/generator/genReleaseBody.ts +14 -3
  191. package/src/generator/permission.ts +8 -6
  192. package/src/natural/transformTSCode.ts +1 -1
  193. package/src/server/extendBaseNode.ts +22 -20
  194. package/src/server/getLogics.ts +79 -41
  195. package/src/server/getMemberIdentifier.ts +7 -1
  196. package/src/server/getProcesses.ts +3 -3
  197. package/src/server/naslServer.ts +44 -20
  198. package/src/server/translator.ts +7 -1
  199. package/src/service/storage/init.ts +1 -2
  200. package/src/templator/genCreateBlock.ts +6 -6
  201. package/src/templator/genCurdEditMultipleKeyBlock.ts +16 -16
  202. package/src/templator/genCurdMultipleKeyBlock.ts +36 -36
  203. package/src/templator/genGetBlock.ts +6 -5
  204. package/src/templator/genGridViewBlock.ts +12 -12
  205. package/src/templator/genListViewBlock.ts +4 -4
  206. package/src/templator/genSelectBlock.ts +3 -3
  207. package/src/templator/genTableBlock.ts +10 -10
  208. package/src/templator/genUpdateBlock.ts +10 -9
  209. package/src/templator/utils.ts +2 -2
  210. package/src/translator/utils.ts +12 -1
  211. package/src/utils/i18nInfo.ts +7 -2
  212. package/src/utils/index.ts +211 -1
  213. package/test/concepts/call-function/fixtures/from-string.json +68 -59
  214. package/test/concepts/call-function/fixtures/to-string-global-tz.json +67 -58
  215. package/test/concepts/call-function/fixtures/to-string-no-tz.json +57 -48
  216. package/test/concepts/call-function/fixtures/to-string-user-tz.json +69 -60
  217. package/test/concepts/call-function/fixtures/to-string-utc-tz.json +69 -60
  218. package/test/concepts/call-interface/fixtures/only-interface.json +81 -72
  219. package/test/concepts/call-interface/fixtures/with-body-complex-argument.json +223 -214
  220. package/test/concepts/call-interface/fixtures/with-body-no-argument.json +85 -76
  221. package/test/concepts/call-interface/fixtures/with-body-simple-argument.json +100 -91
  222. package/test/concepts/call-interface/fixtures/with-headers-no-argument.json +88 -79
  223. package/test/concepts/call-interface/fixtures/with-headers.json +90 -81
  224. package/test/concepts/call-interface/fixtures/with-query-no-argument.json +88 -79
  225. package/test/concepts/call-interface/fixtures/with-query.json +90 -81
  226. package/test/concepts/call-logic/__snapshots__/getQuickInfoOffset.spec.ts.snap +4 -2
  227. package/test/concepts/call-logic/fixtures/entries-get-with-arguments.json +104 -95
  228. package/test/concepts/call-logic/fixtures/entries-update-with-arguments.json +209 -200
  229. package/test/concepts/call-logic/fixtures/global-logic-argument-no-expression.json +97 -88
  230. package/test/concepts/call-logic/fixtures/global-logic-argument-some-expression.json +124 -115
  231. package/test/concepts/call-logic/fixtures/json-deserialize.json +120 -111
  232. package/test/concepts/call-logic/fixtures/json-serialize-with-string.json +124 -115
  233. package/test/concepts/call-logic/fixtures/json-serialize.json +124 -115
  234. package/test/concepts/call-logic/fixtures/view-buildin-logic-with-argument.json +91 -82
  235. package/test/concepts/call-logic/fixtures/view-component-logic-no-argument.json +88 -79
  236. package/test/concepts/call-logic/fixtures/view-component-with-validation.json +144 -135
  237. package/test/concepts/identifier/fixtures/view-variable.json +145 -136
  238. package/test/concepts/view-element/__snapshots__/toVue.spec.ts.snap +1 -1
  239. package/test/concepts/view-element/fixtures/default-login.json +221 -212
  240. package/test/concepts/view-element/fixtures/default-not-found.json +183 -174
  241. package/test/concepts/view-element/fixtures/with-role-auth.json +91 -82
  242. package/test/concepts/view-element/fixtures/with-table.json +1894 -1885
  243. package/test/concepts/view-element/toVue.spec.ts +1 -0
  244. package/ts-worker/package.json +1 -1
  245. package/ts-worker/src/index.js +1 -0
@@ -78,9 +78,9 @@ let App = App_1 = class App extends BaseNode_1.default {
78
78
  */
79
79
  this.interfaces = [];
80
80
  /**
81
- * 前端列表
81
+ * 端类型列表
82
82
  */
83
- this.frontends = [];
83
+ this.frontendTypes = [];
84
84
  /**
85
85
  * 后端
86
86
  */
@@ -625,64 +625,66 @@ let App = App_1 = class App extends BaseNode_1.default {
625
625
  getAbstractInterfaceUniqueName(name = 'Interface1') {
626
626
  return utils.unique(name, this.getAbstractInterfaceExistingNames(), undefined, true);
627
627
  }
628
- getFrontendExistingNames(excludedList = []) {
628
+ getFrontendTypeExistingNames(excludedList = []) {
629
629
  const excludedSet = new Set(excludedList);
630
- return (this.frontends || []).filter((item) => !excludedSet.has(item)).map((item) => item?.name);
630
+ return (this.frontendTypes || [])
631
+ .filter((item) => !excludedSet.has(item))
632
+ .map((item) => item?.name);
631
633
  }
632
- getFrontendUniqueName(name = 'frontend1') {
633
- return utils.unique(name, this.getFrontendExistingNames(), undefined, true);
634
+ getFrontendTypeUniqueName(name = 'frontendType1') {
635
+ return utils.unique(name, this.getFrontendTypeExistingNames(), undefined, true);
634
636
  }
635
- _insertFrontendAt(options, index) {
636
- const frontendOptions = {};
637
- const relationOptions = { parentNode: this, parentKey: 'frontends' };
638
- const Frontend = (0, decorators_1.getConceptConstructor)('Frontend');
639
- let frontend;
637
+ _insertFrontendTypeAt(options, index) {
638
+ const frontendTypeOptions = {};
639
+ const relationOptions = { parentNode: this, parentKey: 'frontendTypes' };
640
+ const FrontendType = (0, decorators_1.getConceptConstructor)('FrontendType');
641
+ let frontendType;
640
642
  if (!options) {
641
- frontend = Frontend.from({
642
- ...frontendOptions,
643
- name: this.getFrontendUniqueName(),
644
- }, this, 'frontends');
643
+ frontendType = FrontendType.from({
644
+ ...frontendTypeOptions,
645
+ name: this.getFrontendTypeUniqueName(),
646
+ }, this, 'frontendTypes');
645
647
  }
646
648
  else if (typeof options === 'string') {
647
- frontend = Frontend.from({
648
- ...frontendOptions,
649
+ frontendType = FrontendType.from({
650
+ ...frontendTypeOptions,
649
651
  name: options,
650
- }, this, 'frontends');
652
+ }, this, 'frontendTypes');
651
653
  }
652
- else if (asserts.isFrontend(options)) {
654
+ else if (asserts.isFrontendType(options)) {
653
655
  options.ensureDelete(); // 同一实例不支持多处存在
654
- frontend = options;
655
- Object.assign(frontend, relationOptions);
656
+ frontendType = options;
657
+ Object.assign(frontendType, relationOptions);
656
658
  }
657
659
  else {
658
- frontend = Frontend.from({
659
- ...frontendOptions,
660
+ frontendType = FrontendType.from({
661
+ ...frontendTypeOptions,
660
662
  ...options,
661
- }, this, 'frontends');
663
+ }, this, 'frontendTypes');
662
664
  }
663
- this.frontends.splice(index, 0, frontend);
664
- return frontend;
665
+ this.frontendTypes.splice(index, 0, frontendType);
666
+ return frontendType;
665
667
  }
666
- insertFrontendAt(options, index) {
667
- const node = this._insertFrontendAt(options, index);
668
+ insertFrontendTypeAt(options, index) {
669
+ const node = this._insertFrontendTypeAt(options, index);
668
670
  node.create({
669
671
  index,
670
672
  parentNode: this,
671
- parentKey: 'frontends',
673
+ parentKey: 'frontendTypes',
672
674
  });
673
675
  return node;
674
676
  }
675
- _addFrontend(options) {
676
- const index = this.frontends.length;
677
- return this._insertFrontendAt(options, index);
677
+ _addFrontendType(options) {
678
+ const index = this.frontendTypes.length;
679
+ return this._insertFrontendTypeAt(options, index);
678
680
  }
679
- addFrontend(options) {
680
- const node = this._addFrontend(options);
681
- const index = this.frontends.indexOf(node);
681
+ addFrontendType(options) {
682
+ const node = this._addFrontendType(options);
683
+ const index = this.frontendTypes.indexOf(node);
682
684
  node.create({
683
685
  index,
684
686
  parentNode: this,
685
- parentKey: 'frontends',
687
+ parentKey: 'frontendTypes',
686
688
  });
687
689
  return node;
688
690
  }
@@ -1456,34 +1458,34 @@ let App = App_1 = class App extends BaseNode_1.default {
1456
1458
  }
1457
1459
  return params;
1458
1460
  }
1459
- removeFrontend(options) {
1460
- let frontend;
1461
+ removeFrontendType(options) {
1462
+ let frontendType;
1461
1463
  if (typeof options === 'string') {
1462
- frontend = this.frontends.find((item) => item.name === options);
1463
- if (!frontend) {
1464
- throw new Error('找不到前端 ' + options);
1464
+ frontendType = this.frontendTypes.find((item) => item.name === options);
1465
+ if (!frontendType) {
1466
+ throw new Error('找不到端类型 ' + options);
1465
1467
  }
1466
1468
  }
1467
1469
  else {
1468
- frontend = options;
1470
+ frontendType = options;
1469
1471
  }
1470
- return frontend.delete();
1472
+ return frontendType.delete();
1471
1473
  }
1472
- __removeFrontend(frontend) {
1473
- const parentKey = frontend.parentKey;
1474
+ __removeFrontendType(frontendType) {
1475
+ const parentKey = frontendType.parentKey;
1474
1476
  const params = {
1475
1477
  parentNode: this,
1476
1478
  parentKey,
1477
1479
  index: -1,
1478
1480
  object: null,
1479
- oldObject: frontend,
1481
+ oldObject: frontendType,
1480
1482
  };
1481
1483
  if (parentKey) {
1482
1484
  params.parentKey = parentKey;
1483
1485
  // @ts-ignore
1484
1486
  const t = this.__v_raw || this;
1485
1487
  // @ts-ignore
1486
- const n = frontend.__v_raw || frontend;
1488
+ const n = frontendType.__v_raw || frontendType;
1487
1489
  if (Array.isArray(t[parentKey])) {
1488
1490
  // @ts-ignore
1489
1491
  const index = t[parentKey].findIndex((el) => (el.__v_raw || el) === n);
@@ -1941,6 +1943,16 @@ let App = App_1 = class App extends BaseNode_1.default {
1941
1943
  findLogicByName(name) {
1942
1944
  return this.logics.find((logic) => logic.name === name);
1943
1945
  }
1946
+ /**
1947
+ * 获取组合节点
1948
+ */
1949
+ getCompose(path) {
1950
+ let compose = this.composeCache;
1951
+ path.forEach((key) => {
1952
+ compose = compose?.[key];
1953
+ });
1954
+ return compose || null;
1955
+ }
1944
1956
  /**
1945
1957
  * 获取组合节点
1946
1958
  */
@@ -2153,10 +2165,10 @@ let App = App_1 = class App extends BaseNode_1.default {
2153
2165
  names: [],
2154
2166
  },
2155
2167
  };
2156
- const frontends = this.frontends.filter((frontend) => frontend.type === scope);
2168
+ const frontendTypes = this.frontendTypes.filter((frontendType) => frontendType.kind === scope);
2157
2169
  const existingSet = new Set();
2158
- frontends.forEach((frontend) => {
2159
- frontend.componentDependencies.forEach((dep) => {
2170
+ frontendTypes.forEach((frontendType) => {
2171
+ frontendType.componentDependencies.forEach((dep) => {
2160
2172
  const { name, version } = dep;
2161
2173
  const jsName = `${prefix}/packages/${name}@${version}/dist-theme/index.js`;
2162
2174
  if (!existingSet.has(jsName)) {
@@ -2256,7 +2268,7 @@ let App = App_1 = class App extends BaseNode_1.default {
2256
2268
  structureCount: this.structures.length,
2257
2269
  enumCount: this.enums.length,
2258
2270
  logicCount: this.logics.length,
2259
- viewCount: sum(this.frontends.map((frontend) => countView(frontend.views))),
2271
+ viewCount: sum(this.frontendTypes.map((frontendType) => sum(frontendType.frontends.map((frontend) => countView(frontend.views))))),
2260
2272
  processCount: this.processes.length,
2261
2273
  };
2262
2274
  }
@@ -2426,33 +2438,18 @@ let App = App_1 = class App extends BaseNode_1.default {
2426
2438
  });
2427
2439
  return errorList;
2428
2440
  }
2429
- addFrontendForType(options) {
2430
- let insertIndex = -1;
2431
- this.frontends.forEach((frontend, index) => {
2432
- if (frontend.type === options.type) {
2433
- insertIndex = index;
2434
- }
2435
- });
2436
- if (options.type === 'h5' && insertIndex === -1) {
2437
- insertIndex = this.frontends.length;
2438
- }
2439
- const node = this._insertFrontendAt(options, insertIndex + 1);
2440
- const index = this.frontends.indexOf(node);
2441
- node.create({
2442
- index,
2443
- parentNode: this,
2444
- parentKey: 'frontends',
2445
- });
2446
- return node;
2447
- }
2448
2441
  getFrontendExistingTitles(excludedList = []) {
2449
2442
  const excludedSet = new Set(excludedList);
2450
- return (this.frontends || []).filter((item) => !excludedSet.has(item)).map((item) => item.title);
2443
+ return (this.frontendTypes || [])
2444
+ .map((frontendType) => frontendType.frontends?.filter((item) => !excludedSet.has(item)).map((item) => item.title))
2445
+ .flat(2);
2451
2446
  }
2452
2447
  getExtensionsCallbackLogics() {
2453
2448
  let resultLogics = [];
2454
- this.frontends.forEach((frontend) => {
2455
- resultLogics = [...resultLogics, ...frontend.getExtensionsCallbackLogics()];
2449
+ this.frontendTypes.forEach((frontendType) => {
2450
+ frontendType?.frontends?.forEach((frontend) => {
2451
+ resultLogics = [...resultLogics, ...frontend.getExtensionsCallbackLogics()];
2452
+ });
2456
2453
  });
2457
2454
  return Array.from(new Set(resultLogics));
2458
2455
  }
@@ -2463,18 +2460,17 @@ let App = App_1 = class App extends BaseNode_1.default {
2463
2460
  return `${utils.unique(name, this.getLogicExistingNames(), undefined, true)}Service`;
2464
2461
  }
2465
2462
  genAllCustomComponents() {
2466
- const { frontends } = this;
2467
2463
  const compMap = {
2468
2464
  pc: [],
2469
2465
  h5: [],
2470
2466
  };
2471
2467
  const existingSet = new Set();
2472
- frontends.forEach((frontend) => {
2473
- if (frontend.componentDependencies) {
2474
- frontend.componentDependencies.forEach((dep) => {
2468
+ this.frontendTypes.forEach((frontendType) => {
2469
+ if (frontendType.componentDependencies) {
2470
+ frontendType.componentDependencies.forEach((dep) => {
2475
2471
  const { name } = dep;
2476
2472
  if (!existingSet.has(name)) {
2477
- compMap[frontend.type].push(dep);
2473
+ compMap[frontendType.kind].push(dep);
2478
2474
  }
2479
2475
  });
2480
2476
  }
@@ -2770,11 +2766,11 @@ __decorate([
2770
2766
  ], App.prototype, "interfaces", void 0);
2771
2767
  __decorate([
2772
2768
  (0, decorators_1.property)({
2773
- objectRef: 'Frontend',
2769
+ objectRef: 'FrontendType',
2774
2770
  isArray: true,
2775
2771
  defaultValue: [],
2776
2772
  })
2777
- ], App.prototype, "frontends", void 0);
2773
+ ], App.prototype, "frontendTypes", void 0);
2778
2774
  __decorate([
2779
2775
  (0, decorators_1.property)({
2780
2776
  objectRef: 'Backend',