@sap/ux-specification 1.120.36 → 1.120.37

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 (487) hide show
  1. package/CHANGELOG.md +32 -1
  2. package/dist/documentation/runDocu-min.js +1 -1
  3. package/dist/documentation/runDocu-min.js.map +2 -2
  4. package/dist/documentation/v2/v2-AnalyticalListPage.html +2 -2
  5. package/dist/documentation/v2/v2-ApplicationV2.html +2 -2
  6. package/dist/documentation/v2/v2-ListReport.html +2 -2
  7. package/dist/documentation/v2/v2-ObjectPage.html +2 -2
  8. package/dist/documentation/v2/v2-OverviewPage.html +2 -2
  9. package/dist/documentation/v4/v4-ApplicationV4.html +2 -2
  10. package/dist/documentation/v4/v4-BuildingBlocks.html +2 -2
  11. package/dist/documentation/v4/v4-FreestylePage.html +2 -2
  12. package/dist/documentation/v4/v4-ListReport.html +2 -2
  13. package/dist/documentation/v4/v4-ObjectPage.html +2 -2
  14. package/dist/index-min.js +79 -79
  15. package/dist/index-min.js.map +3 -3
  16. package/dist/schemas/v2/ApplicationV2.json +2 -1
  17. package/dist/schemas/v4/ApplicationV4.json +6 -1
  18. package/dist/specification/package.json +5 -5
  19. package/dist/specification/scripts/documentation/components/TreeDiagram.d.ts +21 -0
  20. package/dist/specification/scripts/documentation/components/TreeDiagram.d.ts.map +1 -1
  21. package/dist/specification/scripts/documentation/components/TreeDiagram.js +21 -0
  22. package/dist/specification/scripts/documentation/components/TreeDiagram.js.map +1 -1
  23. package/dist/specification/scripts/documentation/components/filter.d.ts +7 -0
  24. package/dist/specification/scripts/documentation/components/filter.d.ts.map +1 -1
  25. package/dist/specification/scripts/documentation/components/filter.js +30 -0
  26. package/dist/specification/scripts/documentation/components/filter.js.map +1 -1
  27. package/dist/specification/scripts/documentation/components/ui/TreeUI.d.ts +70 -0
  28. package/dist/specification/scripts/documentation/components/ui/TreeUI.d.ts.map +1 -1
  29. package/dist/specification/scripts/documentation/components/ui/TreeUI.js +70 -3
  30. package/dist/specification/scripts/documentation/components/ui/TreeUI.js.map +1 -1
  31. package/dist/specification/scripts/documentation/components/ui/keyboardNavigation.d.ts +17 -0
  32. package/dist/specification/scripts/documentation/components/ui/keyboardNavigation.d.ts.map +1 -1
  33. package/dist/specification/scripts/documentation/components/ui/keyboardNavigation.js +23 -0
  34. package/dist/specification/scripts/documentation/components/ui/keyboardNavigation.js.map +1 -1
  35. package/dist/specification/scripts/documentation/components/ui/search.d.ts +12 -0
  36. package/dist/specification/scripts/documentation/components/ui/search.d.ts.map +1 -1
  37. package/dist/specification/scripts/documentation/components/ui/search.js +78 -8
  38. package/dist/specification/scripts/documentation/components/ui/search.js.map +1 -1
  39. package/dist/specification/scripts/documentation/components/ui/toggle.d.ts +21 -0
  40. package/dist/specification/scripts/documentation/components/ui/toggle.d.ts.map +1 -1
  41. package/dist/specification/scripts/documentation/components/ui/toggle.js +23 -6
  42. package/dist/specification/scripts/documentation/components/ui/toggle.js.map +1 -1
  43. package/dist/specification/scripts/documentation/components/ui/tooltip.d.ts +24 -0
  44. package/dist/specification/scripts/documentation/components/ui/tooltip.d.ts.map +1 -1
  45. package/dist/specification/scripts/documentation/components/ui/tooltip.js +24 -3
  46. package/dist/specification/scripts/documentation/components/ui/tooltip.js.map +1 -1
  47. package/dist/specification/scripts/documentation/components/ui/utils.d.ts +36 -0
  48. package/dist/specification/scripts/documentation/components/ui/utils.d.ts.map +1 -1
  49. package/dist/specification/scripts/documentation/components/ui/utils.js +36 -4
  50. package/dist/specification/scripts/documentation/components/ui/utils.js.map +1 -1
  51. package/dist/specification/scripts/extractDocu.js +49 -5
  52. package/dist/specification/scripts/extractDocu.js.map +1 -1
  53. package/dist/specification/scripts/macros/api.d.ts +4 -1
  54. package/dist/specification/scripts/macros/api.d.ts.map +1 -1
  55. package/dist/specification/scripts/macros/api.js +9 -1
  56. package/dist/specification/scripts/macros/api.js.map +1 -1
  57. package/dist/specification/scripts/macros/cmd.d.ts +1 -0
  58. package/dist/specification/scripts/macros/cmd.d.ts.map +1 -1
  59. package/dist/specification/scripts/macros/cmd.js +1 -0
  60. package/dist/specification/scripts/macros/cmd.js.map +1 -1
  61. package/dist/specification/scripts/macros/corrections.d.ts +1 -0
  62. package/dist/specification/scripts/macros/corrections.d.ts.map +1 -1
  63. package/dist/specification/scripts/macros/corrections.js +5 -0
  64. package/dist/specification/scripts/macros/corrections.js.map +1 -1
  65. package/dist/specification/scripts/macros/i18n.d.ts +1 -0
  66. package/dist/specification/scripts/macros/i18n.d.ts.map +1 -1
  67. package/dist/specification/scripts/macros/i18n.js +1 -0
  68. package/dist/specification/scripts/macros/i18n.js.map +1 -1
  69. package/dist/specification/scripts/macros/schema.d.ts +1 -0
  70. package/dist/specification/scripts/macros/schema.d.ts.map +1 -1
  71. package/dist/specification/scripts/macros/schema.js +18 -5
  72. package/dist/specification/scripts/macros/schema.js.map +1 -1
  73. package/dist/specification/scripts/schema/to-json-schema.d.ts +9 -5
  74. package/dist/specification/scripts/schema/to-json-schema.d.ts.map +1 -1
  75. package/dist/specification/scripts/schema/to-json-schema.js +32 -5
  76. package/dist/specification/scripts/schema/to-json-schema.js.map +1 -1
  77. package/dist/specification/scripts/spec.js +19 -9
  78. package/dist/specification/scripts/spec.js.map +1 -1
  79. package/dist/specification/src/api.d.ts +20 -12
  80. package/dist/specification/src/api.d.ts.map +1 -1
  81. package/dist/specification/src/api.js +22 -14
  82. package/dist/specification/src/api.js.map +1 -1
  83. package/dist/specification/src/extensionLogger.d.ts +3 -2
  84. package/dist/specification/src/extensionLogger.d.ts.map +1 -1
  85. package/dist/specification/src/extensionLogger.js +3 -2
  86. package/dist/specification/src/extensionLogger.js.map +1 -1
  87. package/dist/specification/src/i18n/i18n.d.ts +5 -0
  88. package/dist/specification/src/i18n/i18n.d.ts.map +1 -1
  89. package/dist/specification/src/i18n/i18n.js +5 -0
  90. package/dist/specification/src/i18n/i18n.js.map +1 -1
  91. package/dist/specification/src/project.d.ts +3 -1
  92. package/dist/specification/src/project.d.ts.map +1 -1
  93. package/dist/specification/src/project.js +3 -1
  94. package/dist/specification/src/project.js.map +1 -1
  95. package/dist/specification/src/specification/schemaAccess.d.ts +6 -2
  96. package/dist/specification/src/specification/schemaAccess.d.ts.map +1 -1
  97. package/dist/specification/src/specification/schemaAccess.js +10 -4
  98. package/dist/specification/src/specification/schemaAccess.js.map +1 -1
  99. package/dist/specification/src/sync/common/appProvider.d.ts +17 -6
  100. package/dist/specification/src/sync/common/appProvider.d.ts.map +1 -1
  101. package/dist/specification/src/sync/common/appProvider.js +33 -17
  102. package/dist/specification/src/sync/common/appProvider.js.map +1 -1
  103. package/dist/specification/src/sync/common/decoration/control.d.ts +26 -10
  104. package/dist/specification/src/sync/common/decoration/control.d.ts.map +1 -1
  105. package/dist/specification/src/sync/common/decoration/control.js +32 -13
  106. package/dist/specification/src/sync/common/decoration/control.js.map +1 -1
  107. package/dist/specification/src/sync/common/decoration/decorators.d.ts +14 -0
  108. package/dist/specification/src/sync/common/decoration/decorators.d.ts.map +1 -1
  109. package/dist/specification/src/sync/common/decoration/decorators.js +14 -0
  110. package/dist/specification/src/sync/common/decoration/decorators.js.map +1 -1
  111. package/dist/specification/src/sync/common/decoration/factory.d.ts +12 -3
  112. package/dist/specification/src/sync/common/decoration/factory.d.ts.map +1 -1
  113. package/dist/specification/src/sync/common/decoration/factory.js +6 -3
  114. package/dist/specification/src/sync/common/decoration/factory.js.map +1 -1
  115. package/dist/specification/src/sync/common/decoration/flex.d.ts +7 -0
  116. package/dist/specification/src/sync/common/decoration/flex.d.ts.map +1 -1
  117. package/dist/specification/src/sync/common/decoration/flex.js +7 -0
  118. package/dist/specification/src/sync/common/decoration/flex.js.map +1 -1
  119. package/dist/specification/src/sync/common/distTagEvaluator.d.ts +13 -3
  120. package/dist/specification/src/sync/common/distTagEvaluator.d.ts.map +1 -1
  121. package/dist/specification/src/sync/common/distTagEvaluator.js +13 -3
  122. package/dist/specification/src/sync/common/distTagEvaluator.js.map +1 -1
  123. package/dist/specification/src/sync/common/flexUtils.d.ts +11 -10
  124. package/dist/specification/src/sync/common/flexUtils.d.ts.map +1 -1
  125. package/dist/specification/src/sync/common/flexUtils.js +11 -10
  126. package/dist/specification/src/sync/common/flexUtils.js.map +1 -1
  127. package/dist/specification/src/sync/common/generate/objectPage.d.ts +27 -18
  128. package/dist/specification/src/sync/common/generate/objectPage.d.ts.map +1 -1
  129. package/dist/specification/src/sync/common/generate/objectPage.js +54 -33
  130. package/dist/specification/src/sync/common/generate/objectPage.js.map +1 -1
  131. package/dist/specification/src/sync/common/generate/utils.d.ts +65 -37
  132. package/dist/specification/src/sync/common/generate/utils.d.ts.map +1 -1
  133. package/dist/specification/src/sync/common/generate/utils.js +67 -37
  134. package/dist/specification/src/sync/common/generate/utils.js.map +1 -1
  135. package/dist/specification/src/sync/common/import/utils.d.ts +9 -3
  136. package/dist/specification/src/sync/common/import/utils.d.ts.map +1 -1
  137. package/dist/specification/src/sync/common/import/utils.js +9 -3
  138. package/dist/specification/src/sync/common/import/utils.js.map +1 -1
  139. package/dist/specification/src/sync/common/importProject.d.ts +17 -6
  140. package/dist/specification/src/sync/common/importProject.d.ts.map +1 -1
  141. package/dist/specification/src/sync/common/importProject.js +60 -30
  142. package/dist/specification/src/sync/common/importProject.js.map +1 -1
  143. package/dist/specification/src/sync/common/utils.d.ts +129 -53
  144. package/dist/specification/src/sync/common/utils.d.ts.map +1 -1
  145. package/dist/specification/src/sync/common/utils.js +235 -94
  146. package/dist/specification/src/sync/common/utils.js.map +1 -1
  147. package/dist/specification/src/sync/i18n.d.ts +5 -0
  148. package/dist/specification/src/sync/i18n.d.ts.map +1 -1
  149. package/dist/specification/src/sync/i18n.js +5 -0
  150. package/dist/specification/src/sync/i18n.js.map +1 -1
  151. package/dist/specification/src/sync/v2/export/controls/Action.d.ts +3 -3
  152. package/dist/specification/src/sync/v2/export/controls/Action.js +15 -15
  153. package/dist/specification/src/sync/v2/export/controls/Card.d.ts +14 -0
  154. package/dist/specification/src/sync/v2/export/controls/Card.d.ts.map +1 -1
  155. package/dist/specification/src/sync/v2/export/controls/Card.js +20 -0
  156. package/dist/specification/src/sync/v2/export/controls/Card.js.map +1 -1
  157. package/dist/specification/src/sync/v2/export/controls/Field.js +5 -5
  158. package/dist/specification/src/sync/v2/export/controls/FilterBar.d.ts +13 -0
  159. package/dist/specification/src/sync/v2/export/controls/FilterBar.d.ts.map +1 -1
  160. package/dist/specification/src/sync/v2/export/controls/FilterBar.js +21 -0
  161. package/dist/specification/src/sync/v2/export/controls/FilterBar.js.map +1 -1
  162. package/dist/specification/src/sync/v2/export/controls/FormAction.js +4 -4
  163. package/dist/specification/src/sync/v2/export/controls/Fragment.d.ts +10 -5
  164. package/dist/specification/src/sync/v2/export/controls/Fragment.d.ts.map +1 -1
  165. package/dist/specification/src/sync/v2/export/controls/Fragment.js +62 -25
  166. package/dist/specification/src/sync/v2/export/controls/Fragment.js.map +1 -1
  167. package/dist/specification/src/sync/v2/export/controls/ObjectPageFooterAction.js +6 -6
  168. package/dist/specification/src/sync/v2/export/controls/ObjectPageHeaderAction.js +6 -6
  169. package/dist/specification/src/sync/v2/export/controls/ObjectPageHeaderSection.d.ts.map +1 -1
  170. package/dist/specification/src/sync/v2/export/controls/ObjectPageHeaderSection.js +20 -16
  171. package/dist/specification/src/sync/v2/export/controls/ObjectPageHeaderSection.js.map +1 -1
  172. package/dist/specification/src/sync/v2/export/controls/ObjectPageSection.d.ts.map +1 -1
  173. package/dist/specification/src/sync/v2/export/controls/ObjectPageSection.js.map +1 -1
  174. package/dist/specification/src/sync/v2/export/controls/ObjectPageToolBarAction.js +6 -6
  175. package/dist/specification/src/sync/v2/export/controls/Table.d.ts +24 -0
  176. package/dist/specification/src/sync/v2/export/controls/Table.d.ts.map +1 -1
  177. package/dist/specification/src/sync/v2/export/controls/Table.js +48 -3
  178. package/dist/specification/src/sync/v2/export/controls/Table.js.map +1 -1
  179. package/dist/specification/src/sync/v2/export/controls/TableColumn.js +10 -10
  180. package/dist/specification/src/sync/v2/export/export.d.ts +7 -3
  181. package/dist/specification/src/sync/v2/export/export.d.ts.map +1 -1
  182. package/dist/specification/src/sync/v2/export/export.js +133 -44
  183. package/dist/specification/src/sync/v2/export/export.js.map +1 -1
  184. package/dist/specification/src/sync/v2/export/exportPage.d.ts +18 -10
  185. package/dist/specification/src/sync/v2/export/exportPage.d.ts.map +1 -1
  186. package/dist/specification/src/sync/v2/export/exportPage.js +34 -20
  187. package/dist/specification/src/sync/v2/export/exportPage.js.map +1 -1
  188. package/dist/specification/src/sync/v2/export/exportPageGeneric.d.ts +5 -2
  189. package/dist/specification/src/sync/v2/export/exportPageGeneric.d.ts.map +1 -1
  190. package/dist/specification/src/sync/v2/export/exportPageGeneric.js +27 -17
  191. package/dist/specification/src/sync/v2/export/exportPageGeneric.js.map +1 -1
  192. package/dist/specification/src/sync/v2/export/manifest.d.ts +5 -2
  193. package/dist/specification/src/sync/v2/export/manifest.d.ts.map +1 -1
  194. package/dist/specification/src/sync/v2/export/manifest.js +30 -6
  195. package/dist/specification/src/sync/v2/export/manifest.js.map +1 -1
  196. package/dist/specification/src/sync/v2/export/pages/OverviewPage.d.ts +21 -0
  197. package/dist/specification/src/sync/v2/export/pages/OverviewPage.d.ts.map +1 -1
  198. package/dist/specification/src/sync/v2/export/pages/OverviewPage.js +36 -2
  199. package/dist/specification/src/sync/v2/export/pages/OverviewPage.js.map +1 -1
  200. package/dist/specification/src/sync/v2/export/view-controller-generator.d.ts +25 -15
  201. package/dist/specification/src/sync/v2/export/view-controller-generator.d.ts.map +1 -1
  202. package/dist/specification/src/sync/v2/export/view-controller-generator.js +27 -16
  203. package/dist/specification/src/sync/v2/export/view-controller-generator.js.map +1 -1
  204. package/dist/specification/src/sync/v2/generate/analyticalListReport.d.ts +2 -0
  205. package/dist/specification/src/sync/v2/generate/analyticalListReport.d.ts.map +1 -1
  206. package/dist/specification/src/sync/v2/generate/analyticalListReport.js +6 -0
  207. package/dist/specification/src/sync/v2/generate/analyticalListReport.js.map +1 -1
  208. package/dist/specification/src/sync/v2/generate/generate.d.ts +5 -9
  209. package/dist/specification/src/sync/v2/generate/generate.d.ts.map +1 -1
  210. package/dist/specification/src/sync/v2/generate/generate.js +9 -12
  211. package/dist/specification/src/sync/v2/generate/generate.js.map +1 -1
  212. package/dist/specification/src/sync/v2/generate/listReport.d.ts +4 -2
  213. package/dist/specification/src/sync/v2/generate/listReport.d.ts.map +1 -1
  214. package/dist/specification/src/sync/v2/generate/listReport.js +24 -7
  215. package/dist/specification/src/sync/v2/generate/listReport.js.map +1 -1
  216. package/dist/specification/src/sync/v2/generate/objectPage.d.ts +2 -2
  217. package/dist/specification/src/sync/v2/generate/objectPage.d.ts.map +1 -1
  218. package/dist/specification/src/sync/v2/generate/objectPage.js +75 -43
  219. package/dist/specification/src/sync/v2/generate/objectPage.js.map +1 -1
  220. package/dist/specification/src/sync/v2/generate/overviewPage.d.ts +2 -2
  221. package/dist/specification/src/sync/v2/generate/overviewPage.d.ts.map +1 -1
  222. package/dist/specification/src/sync/v2/generate/overviewPage.js +2 -2
  223. package/dist/specification/src/sync/v2/generate/overviewPage.js.map +1 -1
  224. package/dist/specification/src/sync/v2/generate/schemaAdaptation.js +2 -2
  225. package/dist/specification/src/sync/v2/generate/utils.d.ts +47 -22
  226. package/dist/specification/src/sync/v2/generate/utils.d.ts.map +1 -1
  227. package/dist/specification/src/sync/v2/generate/utils.js +92 -33
  228. package/dist/specification/src/sync/v2/generate/utils.js.map +1 -1
  229. package/dist/specification/src/sync/v2/import/app/appProvider.d.ts +7 -0
  230. package/dist/specification/src/sync/v2/import/app/appProvider.d.ts.map +1 -1
  231. package/dist/specification/src/sync/v2/import/app/appProvider.js +20 -4
  232. package/dist/specification/src/sync/v2/import/app/appProvider.js.map +1 -1
  233. package/dist/specification/src/sync/v2/import/app/ovpProvider.d.ts +4 -0
  234. package/dist/specification/src/sync/v2/import/app/ovpProvider.d.ts.map +1 -1
  235. package/dist/specification/src/sync/v2/import/app/ovpProvider.js +4 -0
  236. package/dist/specification/src/sync/v2/import/app/ovpProvider.js.map +1 -1
  237. package/dist/specification/src/sync/v2/import/common/index.d.ts +28 -15
  238. package/dist/specification/src/sync/v2/import/common/index.d.ts.map +1 -1
  239. package/dist/specification/src/sync/v2/import/common/index.js +91 -35
  240. package/dist/specification/src/sync/v2/import/common/index.js.map +1 -1
  241. package/dist/specification/src/sync/v2/import/controls/table.d.ts +6 -2
  242. package/dist/specification/src/sync/v2/import/controls/table.d.ts.map +1 -1
  243. package/dist/specification/src/sync/v2/import/controls/table.js +6 -2
  244. package/dist/specification/src/sync/v2/import/controls/table.js.map +1 -1
  245. package/dist/specification/src/sync/v2/import/importPage.d.ts +2 -1
  246. package/dist/specification/src/sync/v2/import/importPage.d.ts.map +1 -1
  247. package/dist/specification/src/sync/v2/import/importPage.js +4 -5
  248. package/dist/specification/src/sync/v2/import/importPage.js.map +1 -1
  249. package/dist/specification/src/sync/v2/import/pages/analyticalListPage.d.ts +3 -3
  250. package/dist/specification/src/sync/v2/import/pages/analyticalListPage.d.ts.map +1 -1
  251. package/dist/specification/src/sync/v2/import/pages/analyticalListPage.js +9 -10
  252. package/dist/specification/src/sync/v2/import/pages/analyticalListPage.js.map +1 -1
  253. package/dist/specification/src/sync/v2/import/pages/listReport.d.ts +8 -7
  254. package/dist/specification/src/sync/v2/import/pages/listReport.d.ts.map +1 -1
  255. package/dist/specification/src/sync/v2/import/pages/listReport.js +28 -24
  256. package/dist/specification/src/sync/v2/import/pages/listReport.js.map +1 -1
  257. package/dist/specification/src/sync/v2/import/pages/objectPage.d.ts +3 -3
  258. package/dist/specification/src/sync/v2/import/pages/objectPage.d.ts.map +1 -1
  259. package/dist/specification/src/sync/v2/import/pages/objectPage.js +107 -76
  260. package/dist/specification/src/sync/v2/import/pages/objectPage.js.map +1 -1
  261. package/dist/specification/src/sync/v2/import/pages/overviewPage.d.ts +2 -1
  262. package/dist/specification/src/sync/v2/import/pages/overviewPage.d.ts.map +1 -1
  263. package/dist/specification/src/sync/v2/import/pages/overviewPage.js +27 -12
  264. package/dist/specification/src/sync/v2/import/pages/overviewPage.js.map +1 -1
  265. package/dist/specification/src/sync/v2/import/utils.d.ts +18 -9
  266. package/dist/specification/src/sync/v2/import/utils.d.ts.map +1 -1
  267. package/dist/specification/src/sync/v2/import/utils.js +27 -15
  268. package/dist/specification/src/sync/v2/import/utils.js.map +1 -1
  269. package/dist/specification/src/sync/v2/utils.d.ts +26 -1
  270. package/dist/specification/src/sync/v2/utils.d.ts.map +1 -1
  271. package/dist/specification/src/sync/v2/utils.js +46 -0
  272. package/dist/specification/src/sync/v2/utils.js.map +1 -1
  273. package/dist/specification/src/sync/v4/application.d.ts +7 -5
  274. package/dist/specification/src/sync/v4/application.d.ts.map +1 -1
  275. package/dist/specification/src/sync/v4/application.js +7 -5
  276. package/dist/specification/src/sync/v4/application.js.map +1 -1
  277. package/dist/specification/src/sync/v4/export/controls/FilterBar.d.ts.map +1 -1
  278. package/dist/specification/src/sync/v4/export/controls/FilterBar.js +8 -0
  279. package/dist/specification/src/sync/v4/export/controls/FilterBar.js.map +1 -1
  280. package/dist/specification/src/sync/v4/export/controls/ObjectPageFooter.d.ts.map +1 -1
  281. package/dist/specification/src/sync/v4/export/controls/ObjectPageFooter.js.map +1 -1
  282. package/dist/specification/src/sync/v4/export/controls/ObjectPageTableColumn.d.ts.map +1 -1
  283. package/dist/specification/src/sync/v4/export/controls/ObjectPageTableColumn.js.map +1 -1
  284. package/dist/specification/src/sync/v4/export/controls/Table.d.ts +14 -9
  285. package/dist/specification/src/sync/v4/export/controls/Table.d.ts.map +1 -1
  286. package/dist/specification/src/sync/v4/export/controls/Table.js +44 -17
  287. package/dist/specification/src/sync/v4/export/controls/Table.js.map +1 -1
  288. package/dist/specification/src/sync/v4/export/controls/TableColumn.d.ts.map +1 -1
  289. package/dist/specification/src/sync/v4/export/controls/TableColumn.js.map +1 -1
  290. package/dist/specification/src/sync/v4/export/export.d.ts +6 -4
  291. package/dist/specification/src/sync/v4/export/export.d.ts.map +1 -1
  292. package/dist/specification/src/sync/v4/export/export.js +136 -58
  293. package/dist/specification/src/sync/v4/export/export.js.map +1 -1
  294. package/dist/specification/src/sync/v4/export/exportCustomColumn.d.ts +6 -4
  295. package/dist/specification/src/sync/v4/export/exportCustomColumn.d.ts.map +1 -1
  296. package/dist/specification/src/sync/v4/export/exportCustomColumn.js +6 -4
  297. package/dist/specification/src/sync/v4/export/exportCustomColumn.js.map +1 -1
  298. package/dist/specification/src/sync/v4/export/flexibleColumnLayout.d.ts +3 -2
  299. package/dist/specification/src/sync/v4/export/flexibleColumnLayout.d.ts.map +1 -1
  300. package/dist/specification/src/sync/v4/export/flexibleColumnLayout.js +13 -9
  301. package/dist/specification/src/sync/v4/export/flexibleColumnLayout.js.map +1 -1
  302. package/dist/specification/src/sync/v4/export/fpmCustomPage.d.ts +6 -4
  303. package/dist/specification/src/sync/v4/export/fpmCustomPage.d.ts.map +1 -1
  304. package/dist/specification/src/sync/v4/export/fpmCustomPage.js +9 -4
  305. package/dist/specification/src/sync/v4/export/fpmCustomPage.js.map +1 -1
  306. package/dist/specification/src/sync/v4/export/manifest.d.ts +6 -2
  307. package/dist/specification/src/sync/v4/export/manifest.d.ts.map +1 -1
  308. package/dist/specification/src/sync/v4/export/manifest.js +46 -17
  309. package/dist/specification/src/sync/v4/export/manifest.js.map +1 -1
  310. package/dist/specification/src/sync/v4/export/pages/ListReport.d.ts.map +1 -1
  311. package/dist/specification/src/sync/v4/export/pages/ListReport.js +4 -3
  312. package/dist/specification/src/sync/v4/export/pages/ListReport.js.map +1 -1
  313. package/dist/specification/src/sync/v4/export/utils.d.ts +6 -4
  314. package/dist/specification/src/sync/v4/export/utils.d.ts.map +1 -1
  315. package/dist/specification/src/sync/v4/export/utils.js +6 -4
  316. package/dist/specification/src/sync/v4/export/utils.js.map +1 -1
  317. package/dist/specification/src/sync/v4/generate/fpm-custom-page/annotations.d.ts.map +1 -1
  318. package/dist/specification/src/sync/v4/generate/fpm-custom-page/annotations.js +4 -0
  319. package/dist/specification/src/sync/v4/generate/fpm-custom-page/annotations.js.map +1 -1
  320. package/dist/specification/src/sync/v4/generate/fpm-custom-page/extensions.d.ts +5 -3
  321. package/dist/specification/src/sync/v4/generate/fpm-custom-page/extensions.d.ts.map +1 -1
  322. package/dist/specification/src/sync/v4/generate/fpm-custom-page/extensions.js +14 -5
  323. package/dist/specification/src/sync/v4/generate/fpm-custom-page/extensions.js.map +1 -1
  324. package/dist/specification/src/sync/v4/generate/fpm-custom-page/generator.d.ts +1 -0
  325. package/dist/specification/src/sync/v4/generate/fpm-custom-page/generator.d.ts.map +1 -1
  326. package/dist/specification/src/sync/v4/generate/fpm-custom-page/generator.js +18 -0
  327. package/dist/specification/src/sync/v4/generate/fpm-custom-page/generator.js.map +1 -1
  328. package/dist/specification/src/sync/v4/generate/fpm-custom-page/pageExtensions.d.ts +1 -1
  329. package/dist/specification/src/sync/v4/generate/fpm-custom-page/pageExtensions.d.ts.map +1 -1
  330. package/dist/specification/src/sync/v4/generate/fpm-custom-page/pageExtensions.js +2 -1
  331. package/dist/specification/src/sync/v4/generate/fpm-custom-page/pageExtensions.js.map +1 -1
  332. package/dist/specification/src/sync/v4/generate/fpm-custom-page/utils.d.ts +2 -0
  333. package/dist/specification/src/sync/v4/generate/fpm-custom-page/utils.d.ts.map +1 -1
  334. package/dist/specification/src/sync/v4/generate/fpm-custom-page/utils.js +2 -0
  335. package/dist/specification/src/sync/v4/generate/fpm-custom-page/utils.js.map +1 -1
  336. package/dist/specification/src/sync/v4/generate/freestylePage.d.ts +2 -2
  337. package/dist/specification/src/sync/v4/generate/freestylePage.js +2 -2
  338. package/dist/specification/src/sync/v4/generate/generate.d.ts +13 -11
  339. package/dist/specification/src/sync/v4/generate/generate.d.ts.map +1 -1
  340. package/dist/specification/src/sync/v4/generate/generate.js +13 -11
  341. package/dist/specification/src/sync/v4/generate/generate.js.map +1 -1
  342. package/dist/specification/src/sync/v4/generate/listReport.d.ts +10 -7
  343. package/dist/specification/src/sync/v4/generate/listReport.d.ts.map +1 -1
  344. package/dist/specification/src/sync/v4/generate/listReport.js +124 -78
  345. package/dist/specification/src/sync/v4/generate/listReport.js.map +1 -1
  346. package/dist/specification/src/sync/v4/generate/objectPage.d.ts +1 -1
  347. package/dist/specification/src/sync/v4/generate/objectPage.d.ts.map +1 -1
  348. package/dist/specification/src/sync/v4/generate/objectPage.js +210 -162
  349. package/dist/specification/src/sync/v4/generate/objectPage.js.map +1 -1
  350. package/dist/specification/src/sync/v4/import/app/appProvider.d.ts +18 -4
  351. package/dist/specification/src/sync/v4/import/app/appProvider.d.ts.map +1 -1
  352. package/dist/specification/src/sync/v4/import/app/appProvider.js +56 -24
  353. package/dist/specification/src/sync/v4/import/app/appProvider.js.map +1 -1
  354. package/dist/specification/src/sync/v4/import/fragment.d.ts +29 -4
  355. package/dist/specification/src/sync/v4/import/fragment.d.ts.map +1 -1
  356. package/dist/specification/src/sync/v4/import/fragment.js +46 -7
  357. package/dist/specification/src/sync/v4/import/fragment.js.map +1 -1
  358. package/dist/specification/src/sync/v4/import/pages/fpmCustomPage.d.ts +3 -2
  359. package/dist/specification/src/sync/v4/import/pages/fpmCustomPage.d.ts.map +1 -1
  360. package/dist/specification/src/sync/v4/import/pages/fpmCustomPage.js +7 -2
  361. package/dist/specification/src/sync/v4/import/pages/fpmCustomPage.js.map +1 -1
  362. package/dist/specification/src/sync/v4/import/pages/listReport.d.ts +12 -10
  363. package/dist/specification/src/sync/v4/import/pages/listReport.d.ts.map +1 -1
  364. package/dist/specification/src/sync/v4/import/pages/listReport.js +70 -46
  365. package/dist/specification/src/sync/v4/import/pages/listReport.js.map +1 -1
  366. package/dist/specification/src/sync/v4/import/pages/objectPage.d.ts +7 -6
  367. package/dist/specification/src/sync/v4/import/pages/objectPage.d.ts.map +1 -1
  368. package/dist/specification/src/sync/v4/import/pages/objectPage.js +52 -39
  369. package/dist/specification/src/sync/v4/import/pages/objectPage.js.map +1 -1
  370. package/dist/specification/src/sync/v4/import/utils.d.ts +4 -2
  371. package/dist/specification/src/sync/v4/import/utils.d.ts.map +1 -1
  372. package/dist/specification/src/sync/v4/import/utils.js +4 -2
  373. package/dist/specification/src/sync/v4/import/utils.js.map +1 -1
  374. package/dist/specification/src/sync/v4/sync-rules/controllerExtensions.d.ts.map +1 -1
  375. package/dist/specification/src/sync/v4/sync-rules/controllerExtensions.js +5 -2
  376. package/dist/specification/src/sync/v4/sync-rules/controllerExtensions.js.map +1 -1
  377. package/dist/specification/src/sync/v4/utils/StableIdHelper.d.ts +12 -0
  378. package/dist/specification/src/sync/v4/utils/StableIdHelper.d.ts.map +1 -1
  379. package/dist/specification/src/sync/v4/utils/StableIdHelper.js +18 -0
  380. package/dist/specification/src/sync/v4/utils/StableIdHelper.js.map +1 -1
  381. package/dist/specification/src/sync/v4/utils/macros.d.ts +4 -0
  382. package/dist/specification/src/sync/v4/utils/macros.d.ts.map +1 -1
  383. package/dist/specification/src/sync/v4/utils/macros.js +17 -1
  384. package/dist/specification/src/sync/v4/utils/macros.js.map +1 -1
  385. package/dist/specification/src/sync/v4/utils/utils.d.ts +38 -20
  386. package/dist/specification/src/sync/v4/utils/utils.d.ts.map +1 -1
  387. package/dist/specification/src/sync/v4/utils/utils.js +99 -52
  388. package/dist/specification/src/sync/v4/utils/utils.js.map +1 -1
  389. package/dist/types/src/common/Application.d.ts +6 -0
  390. package/dist/types/src/common/Application.d.ts.map +1 -1
  391. package/dist/types/src/common/Application.js +4 -0
  392. package/dist/types/src/common/Application.js.map +1 -1
  393. package/dist/types/src/common/types.d.ts +51 -2
  394. package/dist/types/src/common/types.d.ts.map +1 -1
  395. package/dist/types/src/common/types.js +2 -1
  396. package/dist/types/src/common/types.js.map +1 -1
  397. package/dist/types/src/common/webapp/manifest/sapUi5.d.ts +3 -2
  398. package/dist/types/src/common/webapp/manifest/sapUi5.d.ts.map +1 -1
  399. package/dist/types/src/common/webapp/manifest/sapUi5.js +3 -2
  400. package/dist/types/src/common/webapp/manifest/sapUi5.js.map +1 -1
  401. package/dist/types/src/v2/application.d.ts +1 -1
  402. package/dist/types/src/v2/controls/Action.d.ts +12 -0
  403. package/dist/types/src/v2/controls/Action.d.ts.map +1 -1
  404. package/dist/types/src/v2/controls/AnalyticalListPageChart.d.ts +1 -0
  405. package/dist/types/src/v2/controls/AnalyticalListPageChart.d.ts.map +1 -1
  406. package/dist/types/src/v2/controls/AnalyticalListPageKPI.d.ts +1 -0
  407. package/dist/types/src/v2/controls/AnalyticalListPageKPI.d.ts.map +1 -1
  408. package/dist/types/src/v2/controls/Card.d.ts +13 -0
  409. package/dist/types/src/v2/controls/Card.d.ts.map +1 -1
  410. package/dist/types/src/v2/controls/Card.js.map +1 -1
  411. package/dist/types/src/v2/controls/Field.d.ts +1 -0
  412. package/dist/types/src/v2/controls/Field.d.ts.map +1 -1
  413. package/dist/types/src/v2/controls/FilterBar.d.ts +6 -0
  414. package/dist/types/src/v2/controls/FilterBar.d.ts.map +1 -1
  415. package/dist/types/src/v2/controls/FilterBar.js.map +1 -1
  416. package/dist/types/src/v2/controls/Header.d.ts +1 -0
  417. package/dist/types/src/v2/controls/Header.d.ts.map +1 -1
  418. package/dist/types/src/v2/controls/ObjectPageChart.d.ts +1 -0
  419. package/dist/types/src/v2/controls/ObjectPageChart.d.ts.map +1 -1
  420. package/dist/types/src/v2/controls/ObjectPageFooter.d.ts +2 -0
  421. package/dist/types/src/v2/controls/ObjectPageFooter.d.ts.map +1 -1
  422. package/dist/types/src/v2/controls/ObjectPageForm.d.ts +1 -0
  423. package/dist/types/src/v2/controls/ObjectPageForm.d.ts.map +1 -1
  424. package/dist/types/src/v2/controls/ObjectPageHeader.d.ts +1 -0
  425. package/dist/types/src/v2/controls/ObjectPageHeader.d.ts.map +1 -1
  426. package/dist/types/src/v2/controls/ObjectPageHeaderSection.d.ts +3 -0
  427. package/dist/types/src/v2/controls/ObjectPageHeaderSection.d.ts.map +1 -1
  428. package/dist/types/src/v2/controls/ObjectPageLayout.d.ts +1 -0
  429. package/dist/types/src/v2/controls/ObjectPageLayout.d.ts.map +1 -1
  430. package/dist/types/src/v2/controls/ObjectPageSection.d.ts +13 -0
  431. package/dist/types/src/v2/controls/ObjectPageSection.d.ts.map +1 -1
  432. package/dist/types/src/v2/controls/ObjectPageSection.js.map +1 -1
  433. package/dist/types/src/v2/controls/ObjectPageTable.d.ts +6 -0
  434. package/dist/types/src/v2/controls/ObjectPageTable.d.ts.map +1 -1
  435. package/dist/types/src/v2/controls/ObjectPageToolBar.d.ts +2 -0
  436. package/dist/types/src/v2/controls/ObjectPageToolBar.d.ts.map +1 -1
  437. package/dist/types/src/v2/controls/Table.d.ts +28 -0
  438. package/dist/types/src/v2/controls/Table.d.ts.map +1 -1
  439. package/dist/types/src/v2/controls/Table.js.map +1 -1
  440. package/dist/types/src/v2/controls/ToolBar.d.ts +1 -0
  441. package/dist/types/src/v2/controls/ToolBar.d.ts.map +1 -1
  442. package/dist/types/src/v2/pages/AnalyticalListPageConfigV2.d.ts +1 -0
  443. package/dist/types/src/v2/pages/AnalyticalListPageConfigV2.d.ts.map +1 -1
  444. package/dist/types/src/v2/pages/OverviewPageConfigV2.d.ts +4 -0
  445. package/dist/types/src/v2/pages/OverviewPageConfigV2.d.ts.map +1 -1
  446. package/dist/types/src/v4/application.d.ts +1 -1
  447. package/dist/types/src/v4/controls/CustomAction.d.ts +10 -0
  448. package/dist/types/src/v4/controls/CustomAction.d.ts.map +1 -1
  449. package/dist/types/src/v4/controls/FilterBar.d.ts +11 -0
  450. package/dist/types/src/v4/controls/FilterBar.d.ts.map +1 -1
  451. package/dist/types/src/v4/controls/FilterBar.js.map +1 -1
  452. package/dist/types/src/v4/controls/Header.d.ts +1 -0
  453. package/dist/types/src/v4/controls/Header.d.ts.map +1 -1
  454. package/dist/types/src/v4/controls/ObjectPageFooter.d.ts +1 -0
  455. package/dist/types/src/v4/controls/ObjectPageFooter.d.ts.map +1 -1
  456. package/dist/types/src/v4/controls/ObjectPageForm.d.ts +1 -0
  457. package/dist/types/src/v4/controls/ObjectPageForm.d.ts.map +1 -1
  458. package/dist/types/src/v4/controls/ObjectPageHeader.d.ts +2 -0
  459. package/dist/types/src/v4/controls/ObjectPageHeader.d.ts.map +1 -1
  460. package/dist/types/src/v4/controls/ObjectPageHeaderSection.d.ts +6 -0
  461. package/dist/types/src/v4/controls/ObjectPageHeaderSection.d.ts.map +1 -1
  462. package/dist/types/src/v4/controls/ObjectPageLayout.d.ts +1 -0
  463. package/dist/types/src/v4/controls/ObjectPageLayout.d.ts.map +1 -1
  464. package/dist/types/src/v4/controls/ObjectPageSection.d.ts +17 -0
  465. package/dist/types/src/v4/controls/ObjectPageSection.d.ts.map +1 -1
  466. package/dist/types/src/v4/controls/ObjectPageSection.js.map +1 -1
  467. package/dist/types/src/v4/controls/ObjectPageTable.d.ts +9 -0
  468. package/dist/types/src/v4/controls/ObjectPageTable.d.ts.map +1 -1
  469. package/dist/types/src/v4/controls/ObjectPageTable.js.map +1 -1
  470. package/dist/types/src/v4/controls/ObjectPageToolBar.d.ts +4 -0
  471. package/dist/types/src/v4/controls/ObjectPageToolBar.d.ts.map +1 -1
  472. package/dist/types/src/v4/controls/Table.d.ts +16 -0
  473. package/dist/types/src/v4/controls/Table.d.ts.map +1 -1
  474. package/dist/types/src/v4/controls/ToolBar.d.ts +9 -0
  475. package/dist/types/src/v4/controls/ToolBar.d.ts.map +1 -1
  476. package/dist/types/src/v4/page.d.ts +4 -0
  477. package/dist/types/src/v4/page.d.ts.map +1 -1
  478. package/dist/types/src/v4/webapp/manifest/ManifestSettings.d.ts +22 -0
  479. package/dist/types/src/v4/webapp/manifest/ManifestSettings.d.ts.map +1 -1
  480. package/dist/types/src/v4/webapp/manifest/sapUi5.d.ts +3 -0
  481. package/dist/types/src/v4/webapp/manifest/sapUi5.d.ts.map +1 -1
  482. package/dist/types/src/v4/webapp/manifest/sapUi5.js.map +1 -1
  483. package/dist/types/src/v4/webapp/manifest/sapUiPageV4.d.ts +1 -1
  484. package/dist/types/src/v4/webapp/manifest/sapUiPageV4.d.ts.map +1 -1
  485. package/dist/types/src/v4/webapp/manifest/sapUiPageV4.js +2 -2
  486. package/dist/types/src/v4/webapp/manifest/sapUiPageV4.js.map +1 -1
  487. package/package.json +6 -6
@@ -46,6 +46,7 @@ exports.getJSONPropertyByPath = getJSONPropertyByPath;
46
46
  exports.removeNamespaces = removeNamespaces;
47
47
  exports.replaceNamespaces = replaceNamespaces;
48
48
  exports.getRefType = getRefType;
49
+ exports.compareTemplateNames = compareTemplateNames;
49
50
  const ux_specification_types_1 = require("@sap/ux-specification-types");
50
51
  const i18next_1 = __importDefault(require("i18next"));
51
52
  const deepmerge_1 = __importDefault(require("deepmerge"));
@@ -66,6 +67,7 @@ const arrayIncludes = (arr, target) => target.every((v) => arr.includes(v));
66
67
  exports.arrayIncludes = arrayIncludes;
67
68
  /**
68
69
  * Function returns annotation path for schema based on received params.
70
+ *
69
71
  * @param entityTypeName - Entity type name.
70
72
  * @param term - Annotation term.
71
73
  * @param qualifier - Annotation qualifier.
@@ -83,8 +85,10 @@ const createAnnotationPath = (entityTypeName, term, qualifier) => {
83
85
  };
84
86
  exports.createAnnotationPath = createAnnotationPath;
85
87
  /**
86
- * Parses, merges, and converts a list of annotation files with aid of tools from annotation-vocabularies-tools
88
+ * Parses, merges, and converts a list of annotation files with aid of tools from annotation-vocabularies-tools.
89
+ *
87
90
  * @param annotationFiles - The list of all annotation files, in JSON format
91
+ * @param logger - Logger instance used for logging errors or messages during processing
88
92
  * @returns the complete service information
89
93
  */
90
94
  function parseAndMergeAndConvert(annotationFiles, logger) {
@@ -114,10 +118,12 @@ function parseAndMergeAndConvert(annotationFiles, logger) {
114
118
  const getAnnotationPropertyValue = (annotationProperty) => annotationProperty?.value || annotationProperty?.path;
115
119
  exports.getAnnotationPropertyValue = getAnnotationPropertyValue;
116
120
  /**
117
- * Checks for Common.Label and overwrites the label from it if present
121
+ * Checks for Common.Label and overwrites the label from it if present.
122
+ *
118
123
  * @param {PropertyAnnotations} annotations - property annotations
119
124
  * @param {EntityType} entityType - entity type
120
125
  * @param {string} label - label, to be actualized
126
+ * @returns label, derived from Common.Label or from property value
121
127
  */
122
128
  function evaluateCommonLabel(annotations, entityType, label) {
123
129
  if (annotations?.Common?.Label) {
@@ -140,7 +146,8 @@ function evaluateCommonLabel(annotations, entityType, label) {
140
146
  return label;
141
147
  }
142
148
  /**
143
- * Determines the label for a property path
149
+ * Determines the label for a property path.
150
+ *
144
151
  * @param {PropertyPath} propertyPath - property path
145
152
  * @param {EntityType} entityType - entity type
146
153
  * @returns label, derived from Common.Label or from property value
@@ -153,9 +160,10 @@ function getLabelForPropertyPath(propertyPath, entityType) {
153
160
  return label;
154
161
  }
155
162
  /**
156
- * Determines the label for a LineItem record
157
- * @param {DataFieldAbstractType} field - Line item record
158
- * @param {EntityType} entityType - entity type
163
+ * Determines the label for a LineItem record.
164
+ *
165
+ * @param field - Line item record
166
+ * @param entityType - entity type
159
167
  * @returns label, derived from Common.Label or from property value
160
168
  */
161
169
  function getLabelForDataField(field, entityType) {
@@ -185,7 +193,8 @@ function getLabelForDataField(field, entityType) {
185
193
  return label;
186
194
  }
187
195
  /**
188
- * Function to resolve the dataField label
196
+ * Function to resolve the dataField label.
197
+ *
189
198
  * @param dataFieldLabel - Given dataField label; might be of type string, or an object in case of a path reference
190
199
  * @param entityType - the entity type as part of the AVT ConvertedMetadata
191
200
  * @returns undefined or the right string value
@@ -211,6 +220,14 @@ function getLabel(dataFieldLabel, entityType) {
211
220
  return undefined;
212
221
  }
213
222
  }
223
+ /**
224
+ * Retrieves the title for a given data field.
225
+ *
226
+ * @param dataField - The data field object containing metadata.
227
+ * @param entityType - The entity type as part of the AVT ConvertedMetadata.
228
+ * @param dataFieldLabel - The label associated with the data field.
229
+ * @returns The title for the data field as a string.
230
+ */
214
231
  function getTitleForDataField(dataField, entityType, dataFieldLabel) {
215
232
  const propertyCommonLabel = getLabelForDataField(dataField, entityType);
216
233
  return (dataFieldLabel ||
@@ -218,9 +235,11 @@ function getTitleForDataField(dataField, entityType, dataFieldLabel) {
218
235
  (dataField.Value.$target ? dataField.Value.$target.name : dataField.Value.value || dataField.Value.path));
219
236
  }
220
237
  /**
221
- * Determines the description of a data field, e.g. for the column header
238
+ * Determines the description of a data field, e.g. for the column header.
239
+ *
222
240
  * @param dataFieldAbstract - the given record of the line item annotation
223
241
  * @param entityType - the entity type as part of the AVT ConvertedMetadata
242
+ * @returns the description of the data field
224
243
  */
225
244
  function getDataFieldDescription(dataFieldAbstract, entityType) {
226
245
  let title = '', propertyCommonLabel, dataField, actionName = '';
@@ -278,17 +297,21 @@ function getDataFieldDescription(dataFieldAbstract, entityType) {
278
297
  }
279
298
  }
280
299
  /**
281
- * Prepare string for reference use in schema
300
+ * Prepare string for reference use in schema.
301
+ *
282
302
  * @param refInput string to be character checked and replaced
283
303
  * @returns string with replaced characters
284
304
  */
285
305
  //@typescript-eslint/no-wrapper-object-types turned off tor prevent conversion String > string; String is used by AVT
306
+ // eslint-disable-next-line @typescript-eslint/no-wrapper-object-types
286
307
  function prepareRef(refInput) {
287
308
  return refInput.replace('#', '::').replace(/\//g, ':2f');
288
309
  }
289
310
  /**
290
- * Return the page type for a given V2 page in manifest
311
+ * Return the page type for a given V2 page in manifest.
312
+ *
291
313
  * @param name - page component name
314
+ * @returns page type
292
315
  */
293
316
  function getPageTypeV2(name) {
294
317
  if (name) {
@@ -297,28 +320,34 @@ function getPageTypeV2(name) {
297
320
  }
298
321
  }
299
322
  /**
300
- * Return the page type for a given V4 page in manifest
301
- * @param name - page component name
323
+ * Return the page type for a given V4 page in manifest.
324
+ *
325
+ * @param v4Page - The V4 application page or routing target configuration
326
+ * @returns page type
302
327
  */
303
- function getPageTypeV4(v4App) {
304
- if (v4App.name && v4App.name !== ux_specification_types_1.v4.FE_TEMPLATE_V4_CUSTOM_PAGE) {
305
- const templatePart = `${ux_specification_types_1.v4.FE_TEMPLATE_V4}.`;
306
- return v4App.name.split(templatePart)[1];
328
+ function getPageTypeV4(v4Page) {
329
+ const pageType = 'name' in v4Page && typeof v4Page.name === 'string' ? convertTemplateNameToPageTypeV4(v4Page.name) : undefined;
330
+ if (pageType) {
331
+ return pageType;
307
332
  }
308
- else if (v4App?.name === ux_specification_types_1.v4.FE_TEMPLATE_V4_CUSTOM_PAGE) {
309
- return ux_specification_types_1.PageTypeV4.FPMCustomPage;
310
- }
311
- else if (v4App.viewId ||
312
- v4App.viewName) {
333
+ if (('viewId' in v4Page && v4Page.viewId) || ('viewName' in v4Page && v4Page.viewName)) {
313
334
  return ux_specification_types_1.PageTypeV4.CustomPage;
314
335
  }
315
336
  }
337
+ /**
338
+ * Retrieves the name of the target annotation based on the provided annotation object and a flag.
339
+ *
340
+ * @param targetAnnotation - The annotation object containing term and qualifier information.
341
+ * @param keyForRelatedFacetKeys - A flag indicating whether to construct the key for related facet keys without the '@' symbol.
342
+ * @returns The name of the target annotation as a string.
343
+ */
316
344
  function getTargetAnnotationName(targetAnnotation, keyForRelatedFacetKeys = false) {
317
345
  const termWithQualifier = `${targetAnnotation.term}#${targetAnnotation.qualifier}`;
318
346
  return `${!keyForRelatedFacetKeys ? '@' : ''}${targetAnnotation.qualifier ? termWithQualifier : targetAnnotation.term}`;
319
347
  }
320
348
  /**
321
- * Finds the alias for a given namespace in the references' section of the converted service metadata
349
+ * Finds the alias for a given namespace in the references' section of the converted service metadata.
350
+ *
322
351
  * @param {string} namespace - complete namespace, e.g. 'com.sap.vocabularies.UI.v1'
323
352
  * @param {ConvertedMetadata} oDataServiceAVT - combined service metadata, as returned by annotation vocabularies tools
324
353
  * @returns alias for the given namespace
@@ -345,6 +374,7 @@ function findAlias(namespace, oDataServiceAVT) {
345
374
  }
346
375
  /**
347
376
  * Method returns annotation from passed meta path.
377
+ *
348
378
  * @param metaPath - annotation meta path
349
379
  * @returns annotation name
350
380
  */
@@ -352,7 +382,8 @@ function getAnnotationFromMetaPath(metaPath) {
352
382
  return metaPath.substring(metaPath.lastIndexOf('.') + 1, metaPath.length);
353
383
  }
354
384
  /**
355
- * Determines the target annotation
385
+ * Determines the target annotation.
386
+ *
356
387
  * @param navigationParts - parts of the target annotation path
357
388
  * @param entityType - entity type
358
389
  * @param {ConvertedMetadata} oDataServiceAVT - complete service information, as returned by annotation vocabularies tool
@@ -365,10 +396,12 @@ function determineTargetAnnotation(navigationParts, entityType, oDataServiceAVT)
365
396
  return entityType?.annotations?.[alias]?.[annotation];
366
397
  }
367
398
  /**
368
- * Adjust key by considering navigation
399
+ * Adjust key by considering navigation.
400
+ *
369
401
  * @param key - given key
370
- * @param keyForRelatedFacetKeys - construct key for 'keyForRelatedFacetKeys' property(used to define custom sections) - we should not add '@' symbol there.
371
402
  * @param navigationParts - parts of the target annotation path
403
+ * @param keyForRelatedFacetKeys - construct key for 'keyForRelatedFacetKeys' property(used to define custom sections) - we should not add '@' symbol there.
404
+ * @returns adjusted key
372
405
  */
373
406
  function adjustKey(key, navigationParts, keyForRelatedFacetKeys) {
374
407
  const uiClass = navigationParts[navigationParts.length - 1].split('#')[0];
@@ -382,6 +415,17 @@ function adjustKey(key, navigationParts, keyForRelatedFacetKeys) {
382
415
  }
383
416
  return key;
384
417
  }
418
+ /**
419
+ * Resolves the key and entity type of a reference facet, adjusting the key based on navigation and annotations.
420
+ *
421
+ * @param oDataServiceAVT - The converted metadata of the OData service.
422
+ * @param key - The initial key for the facet.
423
+ * @param entityType - The entity type associated with the facet.
424
+ * @param propertyValue - The property value of the facet's target.
425
+ * @param oDataVersion - The version of OData (v2 or v4).
426
+ * @param keyForRelatedFacetKeys - A flag indicating whether to construct the key for related facet keys without the '@' symbol.
427
+ * @returns An object containing the adjusted key, entity type, a flag to stop processing, and the namespace.
428
+ */
385
429
  function getKeyAndEntityTypeOfReferenceFacet(oDataServiceAVT, key, entityType, propertyValue, oDataVersion = ux_specification_types_1.FioriElementsVersion.v2, keyForRelatedFacetKeys = false) {
386
430
  let stopProcessing = false;
387
431
  let namespace;
@@ -411,12 +455,14 @@ function getKeyAndEntityTypeOfReferenceFacet(oDataServiceAVT, key, entityType, p
411
455
  }
412
456
  /**
413
457
  * Resolve page section(get key and label->description).
458
+ *
414
459
  * @param facetDefinition - the actual annotation record
460
+ * @param sourceEntityType - The source entity type to be used for resolving facets
461
+ * @param oDataServiceAVT - complete service information, as returned by annotation vocabularies tool
462
+ * @param logger - Logger class for logging messages
463
+ * @param oDataVersion - OData version
415
464
  * @param keyForRelatedFacetKeys - construct key for 'keyForRelatedFacetKeys' property(used to define custom sections) - we should not add '@' symbol there.
416
- * @param {FioriElementsVersion} oDataVersion - OData version
417
- * @param {ConvertedMetadata} oDataServiceAVT - complete service information, as returned by annotation vocabularies tool
418
- * @param {ExtensionLogger} logger - Logger class for logging messages
419
- * @returns {FacetSection} - object comprising the relevant facet information
465
+ * @returns - object comprising the relevant facet information
420
466
  */
421
467
  function getSectionFacet(facetDefinition, sourceEntityType, oDataServiceAVT, logger, oDataVersion = ux_specification_types_1.FioriElementsVersion.v2, keyForRelatedFacetKeys = false) {
422
468
  //Take facet ID as fallback
@@ -457,7 +503,8 @@ function getSectionFacet(facetDefinition, sourceEntityType, oDataServiceAVT, log
457
503
  }
458
504
  }
459
505
  /**
460
- * Decodes encoded path element and returns it in form as used in manifest settings
506
+ * Decodes encoded path element and returns it in form as used in manifest settings.
507
+ *
461
508
  * @param {string} pathElement - path of the property in the manifest
462
509
  * @param {string} targetAnnotation - target annotation (optional)
463
510
  * @param {string} targetAnnotationEncoded - target annotation in its encoded form, as used in manifest settings (optional)
@@ -476,6 +523,7 @@ function getDecodedPathElement(pathElement, targetAnnotation, targetAnnotationEn
476
523
  /**
477
524
  * Method prepares value as empty object or array based on passed path.
478
525
  * For array path should end with '[]'.
526
+ *
479
527
  * @param {string} path - path of the property in the manifest
480
528
  * @returns prepared value based on passed path
481
529
  */
@@ -490,12 +538,13 @@ exports.prepareValueForPath = prepareValueForPath;
490
538
  * Method find object by given path in format "sap.ui5/extends/extensions".
491
539
  * An empty object is created if the path element does not exist yet.
492
540
  * Exception: if an empty array is the next element of the 'path' definition, an empty array is created instead of an empty object.
541
+ *
493
542
  * @param {object} manifest - manifest that is being modified during export
494
543
  * @param {string} path - path of the property in the manifest
495
544
  * @param {string} targetAnnotation - target annotation (optional)
496
545
  * @param {string} targetAnnotationEncoded - target annotation in its encoded form, as used in manifest settings
497
546
  * @param {boolean} value - specific value to apply for unexisting property for given path
498
- * @param {boolean} [readOnly=false] - indicates if the function should create object/array if existing value not found by given path
547
+ * @param {boolean} [readOnly] - indicates if the function should create object/array if existing value not found by given path
499
548
  * @returns returns section of the manifest based on path
500
549
  */
501
550
  const resolveManifestPath = (manifest, path, targetAnnotation, targetAnnotationEncoded, value, readOnly = false) => {
@@ -533,11 +582,12 @@ const resolveManifestPath = (manifest, path, targetAnnotation, targetAnnotationE
533
582
  * Finds the alias for a given namespace in the references' section of the converted service metadata.
534
583
  * An empty object is created if the path element does not exist yet.
535
584
  * Exception: if an empty array is the next element of the 'path' definition, an empty array is created instead of an empty object.
585
+ *
536
586
  * @param {object} manifest - manifest that is being modified during export
537
587
  * @param {string} path - path of the property in the manifest
538
588
  * @param {string} targetAnnotation - target annotation (optional)
539
589
  * @param {string} targetAnnotationEncoded - target annotation in its encoded form, as used in manifest settings
540
- * @param {boolean} [readOnly=false] - indicates if the function should create object/array if existing value not found by given path
590
+ * @param {boolean} [readOnly] - indicates if the function should create object/array if existing value not found by given path
541
591
  * @returns returns section of the manifest based on path, generates an empty object in case it does not exists
542
592
  */
543
593
  const getManifestSectionByPathV4 = (manifest, path, targetAnnotation, targetAnnotationEncoded, readOnly = false) => {
@@ -546,6 +596,7 @@ const getManifestSectionByPathV4 = (manifest, path, targetAnnotation, targetAnno
546
596
  exports.getManifestSectionByPathV4 = getManifestSectionByPathV4;
547
597
  /**
548
598
  * Method sets value for passed path in manifest.
599
+ *
549
600
  * @param {object} manifest - manifest that is being modified during export
550
601
  * @param {string} path - path of the property in the manifest
551
602
  * @param {unknown} value - value to apply
@@ -556,6 +607,12 @@ const setManifestSectionByPathV4 = (manifest, path, value, targetAnnotation, tar
556
607
  resolveManifestPath(manifest, path, targetAnnotation, targetAnnotationEncoded, value);
557
608
  };
558
609
  exports.setManifestSectionByPathV4 = setManifestSectionByPathV4;
610
+ /**
611
+ * Retrieves the schema key for a given line item record based on its type and properties.
612
+ *
613
+ * @param lineItemRecord - The line item record to process.
614
+ * @returns The schema key as a string, or undefined if no key is determined.
615
+ */
559
616
  function getSchemaKeyOfLineItemRecord(lineItemRecord) {
560
617
  let schemaKey, target, value;
561
618
  switch (lineItemRecord.$Type) {
@@ -604,7 +661,8 @@ function getSchemaKeyOfLineItemRecord(lineItemRecord) {
604
661
  return schemaKey;
605
662
  }
606
663
  /**
607
- * Determines if type of given annotation term is of UIAnnotationTerm
664
+ * Determines if type of given annotation term is of UIAnnotationTerm.
665
+ *
608
666
  * @param {string} path path in manifest
609
667
  * @param {string} alias for a given namespace
610
668
  * @param {EntityType} entityType - the entity type
@@ -638,10 +696,10 @@ function getUIAnnotationTerm(path, alias, entityType) {
638
696
  }
639
697
  }
640
698
  /**
641
- * Determines if type of given annotation term is of CommunicationAnnotationTerm
699
+ * Determines if type of given annotation term is of CommunicationAnnotationTerm.
700
+ *
642
701
  * @param {string} path path in manifest
643
702
  * @param {string} alias for a given namespace
644
- * @param {EntityType} entityType - the entity type
645
703
  * @returns Communication annotation term type
646
704
  */
647
705
  function getCommunicationAnnotationTerm(path, alias) {
@@ -656,7 +714,8 @@ function getCommunicationAnnotationTerm(path, alias) {
656
714
  }
657
715
  }
658
716
  /**
659
- * Determines the type of given annotation term
717
+ * Determines the type of given annotation term.
718
+ *
660
719
  * @param {string} path path in manifest
661
720
  * @param {string} alias for a given namespace
662
721
  * @param {EntityType} entityType - the entity type
@@ -666,11 +725,13 @@ function getAnnotationTerm(path, alias, entityType) {
666
725
  return getUIAnnotationTerm(path, alias, entityType) || getCommunicationAnnotationTerm(path, alias);
667
726
  }
668
727
  /**
669
- * Evaluates the target annotation of a reference facet and actualizes the facets for the config
670
- * @param {AnnotationTerm} annotationRecord - the actual annotation record
671
- * @param {FacetConfigs} facets - list of facets in config format, to be updated
672
- * @param {EntityType} entityType - the entity type
673
- * @param {ConvertedMetadata} oDataServiceAVT - complete service information, as returned by annotation vocabularies tool
728
+ * Evaluates the target annotation of a reference facet and actualizes the facets for the config.
729
+ *
730
+ * @param section - The section object in the app schema to be updated with annotation information.
731
+ * @param annotationRecord - the actual annotation record
732
+ * @param facets - list of facets in config format, to be updated
733
+ * @param entityType - the entity type
734
+ * @param oDataServiceAVT - complete service information, as returned by annotation vocabularies tool
674
735
  */
675
736
  function evaluateTargetAnnotation(section, annotationRecord, facets, entityType, oDataServiceAVT) {
676
737
  const alias = findAlias(ux_specification_types_1.UIVOCABULARY, oDataServiceAVT);
@@ -767,6 +828,7 @@ function evaluateTargetAnnotation(section, annotationRecord, facets, entityType,
767
828
  }
768
829
  /**
769
830
  * Method returns schema annotation path for passed fullyQualifiedName.
831
+ *
770
832
  * @param {EntityType} entityType entity type.
771
833
  * @param {string} fullyQualifiedName fully qualifier name.
772
834
  * @returns {TemplateType} Schema annotation path.
@@ -775,14 +837,15 @@ function getAnnotationPathUsingFullyQualifiedName(entityType, fullyQualifiedName
775
837
  return `/${entityType.fullyQualifiedName}/${fullyQualifiedName.split(entityType.fullyQualifiedName)[1]}`;
776
838
  }
777
839
  /**
778
- * Adds the information from facets to the config
779
- * @param {AnnotationTerm} annotationRecord - the actual annotation record
780
- * @param {ConvertedMetadata} oDataServiceAVT - complete service information, as returned by annotation vocabularies tool
781
- * @param {string} serviceName - name of the service of the app
782
- * @param {string} entityName - the entity (type) name
783
- * @param {FacetConfigs} facets - list of facets in config format, to be updated
784
- * @param {FioriElementsVersion} oDataVersion - OData version
785
- * @param {ExtensionLogger} logger - Logger class for logging messages
840
+ * Adds the information from facets to the config.
841
+ *
842
+ * @param annotationRecord - the actual annotation record
843
+ * @param oDataServiceAVT - complete service information, as returned by annotation vocabularies tool
844
+ * @param serviceName - name of the service of the app
845
+ * @param entityType - The entity type to be used for resolving facets
846
+ * @param facets - list of facets in config format, to be updated
847
+ * @param oDataVersion - OData version
848
+ * @param logger - Logger class for logging messages
786
849
  */
787
850
  function addFacetToConfig(annotationRecord, oDataServiceAVT, serviceName, entityType, facets, oDataVersion = ux_specification_types_1.FioriElementsVersion.v2, logger) {
788
851
  const section = getSectionFacet(annotationRecord, entityType, oDataServiceAVT, logger, oDataVersion, false);
@@ -817,11 +880,13 @@ function addFacetToConfig(annotationRecord, oDataServiceAVT, serviceName, entity
817
880
  }
818
881
  }
819
882
  /**
820
- * Retrieve header facet configurations that can be used to generate ObjectPage schemas
821
- * @param {QualifiedName} entityTypeName - the name of the actual entity type
822
- * @param {ConvertedMetadata} oDataServiceAVT - complete service information, as returned by annotation vocabularies tool
823
- * @param {FioriElementsVersion} oDataVersion - OData version
824
- * @param {ExtensionLogger} logger - Logger class for logging messages
883
+ * Retrieve header facet configurations that can be used to generate ObjectPage schemas.
884
+ *
885
+ * @param entityType - The entity type to be used for resolving facets
886
+ * @param oDataServiceAVT - complete service information, as returned by annotation vocabularies tool
887
+ * @param oDataVersion - OData version
888
+ * @param logger - Logger class for logging messages
889
+ * @returns - header facet configurations
825
890
  */
826
891
  function getObjectPageHeaderFacets(entityType, oDataServiceAVT, oDataVersion = ux_specification_types_1.FioriElementsVersion.v2, logger) {
827
892
  const facets = {};
@@ -841,11 +906,13 @@ function getObjectPageHeaderFacets(entityType, oDataServiceAVT, oDataVersion = u
841
906
  return facets;
842
907
  }
843
908
  /**
844
- * Retrieve facet configurations that can be used to generate ObjectPage schemas
845
- * @param {QualifiedName} entityTypeName - the name of the actual entity type
846
- * @param {ConvertedMetadata} oDataServiceAVT - complete service information, as returned by annotation vocabularies tool
909
+ * Retrieve facet configurations that can be used to generate ObjectPage schemas.
910
+ *
911
+ * @param entityType - The entity type to be used for resolving facets
912
+ * @param oDataServiceAVT - complete service information, as returned by annotation vocabularies tool
847
913
  * @param {FioriElementsVersion} oDataVersion - OData version
848
914
  * @param {ExtensionLogger} logger - Logger class for logging messages
915
+ * @returns - facet configurations
849
916
  */
850
917
  function getObjectPageFacets(entityType, oDataServiceAVT, oDataVersion = ux_specification_types_1.FioriElementsVersion.v2, logger) {
851
918
  const facets = {};
@@ -865,7 +932,8 @@ function getObjectPageFacets(entityType, oDataServiceAVT, oDataVersion = ux_spec
865
932
  return facets;
866
933
  }
867
934
  /**
868
- * Returns the version of Fiori elements (v2/v4) from a given manifest
935
+ * Returns the version of Fiori elements (v2/v4) from a given manifest.
936
+ *
869
937
  * @param manifest - the manifest.json file
870
938
  * @returns FioriElementsVersion
871
939
  */
@@ -878,7 +946,10 @@ function getFEVersionFromManifest(manifest) {
878
946
  const targets = manifest[ux_specification_types_1.ManifestSection.ui5]?.routing?.targets;
879
947
  const libs = manifest[ux_specification_types_1.ManifestSection.ui5]?.dependencies?.libs;
880
948
  if ((targets &&
881
- Object.keys(targets).find((targetKey) => exports.V4_TEMPLATES.indexOf(targets[targetKey].name) > -1)) ||
949
+ Object.keys(targets).find((targetKey) => {
950
+ const name = typeof targets[targetKey].name === 'string' ? targets[targetKey].name : '';
951
+ return exports.V4_TEMPLATES.indexOf(name) > -1 || convertTemplateNameToPageTypeV4(name);
952
+ })) ||
882
953
  (libs && Object.keys(libs).find((lib) => exports.V4_LIBS.indexOf(lib) > -1))) {
883
954
  return ux_specification_types_1.FioriElementsVersion.v4;
884
955
  }
@@ -904,7 +975,8 @@ function getMainService(manifest) {
904
975
  : undefined;
905
976
  }
906
977
  /**
907
- * Returns the oData version of the service (if any) from a given manifest
978
+ * Returns the oData version of the service (if any) from a given manifest.
979
+ *
908
980
  * @param manifest - the manifest.json file
909
981
  * @returns the OData version
910
982
  */
@@ -917,10 +989,11 @@ function getODataVersionFromManifest(manifest) {
917
989
  return dataSource?.settings?.odataVersion === '4.0' ? ux_specification_types_1.OdataVersion.v4 : ux_specification_types_1.OdataVersion.v2;
918
990
  }
919
991
  /**
920
- * Determines the template type of a V2 app
992
+ * Determines the template type of a V2 app.
993
+ *
921
994
  * @param manifest - the manifest.json file
922
995
  * @param {ExtensionLogger} logger - Logger class for logging messages
923
- * @returns {TemplateType} the template type
996
+ * @returns the template type
924
997
  */
925
998
  function determineV2Template(manifest, logger) {
926
999
  let templateType;
@@ -964,7 +1037,8 @@ function determineV2Template(manifest, logger) {
964
1037
  return templateType;
965
1038
  }
966
1039
  /**
967
- * Determines the template type of a single page
1040
+ * Determines the template type of a single page.
1041
+ *
968
1042
  * @param v4Page - single page from routing targets
969
1043
  * @returns {TemplateType | undefined} the template type
970
1044
  */
@@ -993,7 +1067,8 @@ function determineV4PageTemplateType(v4Page) {
993
1067
  return templateType;
994
1068
  }
995
1069
  /**
996
- * Determines the template type, based on the given manifest routing target entries of the app
1070
+ * Determines the template type, based on the given manifest routing target entries of the app.
1071
+ *
997
1072
  * @param v4Pages - pages from routing targets
998
1073
  * @returns {TemplateType | undefined} the template type
999
1074
  */
@@ -1009,7 +1084,8 @@ function determineV4TemplateFromPages(v4Pages) {
1009
1084
  return templateType;
1010
1085
  }
1011
1086
  /**
1012
- * Determines the template type of a V4 app
1087
+ * Determines the template type of a V4 app.
1088
+ *
1013
1089
  * @param manifest - the manifest.json file
1014
1090
  * @param {ExtensionLogger} logger - Logger class for logging messages
1015
1091
  * @returns {TemplateType} the template type
@@ -1044,7 +1120,8 @@ function determineV4Template(manifest, logger) {
1044
1120
  return templateType;
1045
1121
  }
1046
1122
  /**
1047
- * Determines the template type, based on the given manifest entries of the app
1123
+ * Determines the template type, based on the given manifest entries of the app.
1124
+ *
1048
1125
  * @param manifest - the manifest.json file
1049
1126
  * @param {FioriElementsVersion} fioriElementsVersion - OData or FE version
1050
1127
  * @param {ExtensionLogger} logger - Logger class for logging messages
@@ -1064,7 +1141,8 @@ function getTemplateTypeFromManifest(manifest, fioriElementsVersion, logger) {
1064
1141
  return templateType;
1065
1142
  }
1066
1143
  /**
1067
- * Adds title to a section or header section in an app schema
1144
+ * Adds title to a section or header section in an app schema.
1145
+ *
1068
1146
  * @param facet - intermediate facet structure comprising annotation information
1069
1147
  * @param section - section in the app schema
1070
1148
  * @param facetKey - key of the facet
@@ -1080,7 +1158,8 @@ function addSectionTitle(facet, section, facetKey) {
1080
1158
  }
1081
1159
  }
1082
1160
  /**
1083
- * Adds description to a section or header section in an app schema
1161
+ * Adds description to a section or header section in an app schema.
1162
+ *
1084
1163
  * @param facet - intermediate facet structure comprising annotation information
1085
1164
  * @param section - section in the app schema
1086
1165
  * @param facetKey - key of the facet
@@ -1097,7 +1176,8 @@ function addSectionDescription(facet, section, facetKey) {
1097
1176
  }
1098
1177
  }
1099
1178
  /**
1100
- * Adds target title or description to a section or header section in an app schema
1179
+ * Adds target title or description to a section or header section in an app schema.
1180
+ *
1101
1181
  * @param facet - intermediate facet structure comprising annotation information
1102
1182
  * @param section - section in the app schema
1103
1183
  * @param facetKey - key of the facet
@@ -1119,10 +1199,10 @@ function addTargetTitleAndSectionDescription(facet, section, facetKey) {
1119
1199
  }
1120
1200
  }
1121
1201
  /**
1122
- * Adds chart (S)PV header facet ID, in case chart has no title
1202
+ * Adds chart (S)PV header facet ID, in case chart has no title.
1203
+ *
1123
1204
  * @param facet - intermediate facet structure comprising annotation information
1124
1205
  * @param section - section in the app schema
1125
- * @param facetKey - key of the facet
1126
1206
  */
1127
1207
  function addChartFacetID(facet, section) {
1128
1208
  if (facet?.ID && section.description?.startsWith('Chart#')) {
@@ -1131,7 +1211,10 @@ function addChartFacetID(facet, section) {
1131
1211
  }
1132
1212
  /**
1133
1213
  * Creates a default object for a new section or subsection, and adds the ID as title if present.
1134
- * @param facet Facet configuration, to be analyzed
1214
+ *
1215
+ * @param appSchema - The application-specific JSON schema.
1216
+ * @param facet - Facet configuration, to be analyzed.
1217
+ * @param facetKey - The key of the facet.
1135
1218
  * @returns the new section object
1136
1219
  */
1137
1220
  function createDefaultSection(appSchema, facet, facetKey) {
@@ -1147,12 +1230,13 @@ function createDefaultSection(appSchema, facet, facetKey) {
1147
1230
  }
1148
1231
  /**
1149
1232
  * Retrieve page section data(so far id/key and label/description).
1233
+ *
1150
1234
  * @param {EntityType} entityType The actual entityType
1151
1235
  * @param {ConvertedMetadata} oDataServiceAVT - complete service information, as returned by annotation vocabularies tool
1152
1236
  * @param {ExtensionLogger} logger - Logger class for logging messages
1153
1237
  * @param {FioriElementsVersion} oDataVersion - OData version
1154
- * @param {boolean} [checkUnresolvableFacets=false] - Check and avoid facets and sections without ID and Target.
1155
- * @returns {FacetSection[]} - Array of facets or sections
1238
+ * @param {boolean} [checkUnresolvableFacets] - Check and avoid facets and sections without ID and Target.
1239
+ * @returns - Array of facets or sections
1156
1240
  */
1157
1241
  function getObjectPageFacetSection(entityType, oDataServiceAVT, logger, oDataVersion = ux_specification_types_1.FioriElementsVersion.v2, checkUnresolvableFacets = false) {
1158
1242
  const alias = findAlias(ux_specification_types_1.UIVOCABULARY, oDataServiceAVT);
@@ -1175,7 +1259,8 @@ function getObjectPageFacetSection(entityType, oDataServiceAVT, logger, oDataVer
1175
1259
  }
1176
1260
  }
1177
1261
  /**
1178
- * Cleans empty sub-structures from the export result for manifest
1262
+ * Cleans empty sub-structures from the export result for manifest.
1263
+ *
1179
1264
  * @param {object} manifest - manifest.json part of the export result
1180
1265
  * @param {string} path - path in the manifest
1181
1266
  * @param {boolean} deletionRequest - if set to true, any manifest setting specified by entityPath gets deleted even if it comprises any unknown property
@@ -1221,8 +1306,9 @@ const deleteEmptyStructure = (manifest, path, deletionRequest, entityPathArray,
1221
1306
  exports.deleteEmptyStructure = deleteEmptyStructure;
1222
1307
  /**
1223
1308
  * Method which returns generic schema file name.
1309
+ *
1224
1310
  * @param {SchemaType | PageTypeV2} schemaType Schema type or Page type.
1225
- * @return {string} File name of generic schema.
1311
+ * @returns {string} File name of generic schema.
1226
1312
  */
1227
1313
  const getGenericSchemaFileName = (schemaType) => {
1228
1314
  if (schemaType === ux_specification_types_1.SchemaType.FreestylePage) {
@@ -1236,9 +1322,11 @@ const getGenericSchemaFileName = (schemaType) => {
1236
1322
  };
1237
1323
  /**
1238
1324
  * Method which returns schema file name and path depending on passed schema or page type.
1325
+ *
1239
1326
  * @param {SchemaType | PageTypeV2} schemaType Schema type or Page type.
1240
1327
  * @param {string} [pageId] target page id from manifest.json
1241
- * @return {SchemaFilePath} File path info.
1328
+ * @param viewId - The view ID for custom pages (optional).
1329
+ * @returns {SchemaFilePath} File path info.
1242
1330
  */
1243
1331
  const getSchemaFilePath = (schemaType, pageId, viewId) => {
1244
1332
  const schemaFile = {
@@ -1288,6 +1376,7 @@ const getSchemaFilePath = (schemaType, pageId, viewId) => {
1288
1376
  exports.getSchemaFilePath = getSchemaFilePath;
1289
1377
  /**
1290
1378
  * Method which generates id of page according to passed parameters
1379
+ *
1291
1380
  * @param appVersion - Fiori Elements version - V2 or V4
1292
1381
  * @param pageType - Page type
1293
1382
  * @param entitySet - Entity Set
@@ -1295,6 +1384,15 @@ exports.getSchemaFilePath = getSchemaFilePath;
1295
1384
  * @param pageName - Page name in manifest. Used if entitySet is empty
1296
1385
  * @returns {string} Generated page id
1297
1386
  */
1387
+ /**
1388
+ * Generates a unique page ID based on the provided parameters.
1389
+ *
1390
+ * @param pageType - The type of the page (e.g., ListReport, ObjectPage, etc.).
1391
+ * @param entitySet - The entity set associated with the page.
1392
+ * @param viewId - The view ID for custom pages (optional).
1393
+ * @param pageName - The name of the page in the manifest (used if entitySet is empty).
1394
+ * @returns The generated page ID as a string.
1395
+ */
1298
1396
  function generatePageId(pageType, entitySet, viewId, pageName) {
1299
1397
  if (pageType === ux_specification_types_1.PageTypeV2.CustomPage) {
1300
1398
  const names = viewId && viewId.split('.');
@@ -1312,6 +1410,7 @@ function generatePageId(pageType, entitySet, viewId, pageName) {
1312
1410
  }
1313
1411
  /**
1314
1412
  * Method finds matching objects against passed interface of 'additionalProperties' and returns array of matching object keys.
1413
+ *
1315
1414
  * @param {Definition} appSchema - App-specific JSON schema.
1316
1415
  * @param {Definition} additionalProperties - Allowed additional properties.
1317
1416
  * @param {object} configObject -Container object to find matching childs.
@@ -1346,11 +1445,11 @@ function findMatchingKeysByAdditionalProperties(appSchema, additionalProperties,
1346
1445
  /**
1347
1446
  * Populates a given array with definitions from an application's schema that match certain conditions defined by the current configuration object and element reference.
1348
1447
  *
1349
- * @param {Definition} element - The element containing a reference ($ref) to a specific definition within the application schema.
1350
- * @param {Definition} appSchema - The application's schema object containing all definitions.
1351
- * @param {object} currentConfigObject - The current configuration object which is evaluated against the schema definitions.
1352
- * @param {any[]} definitionArray - The array to which matching definitions are added based on the evaluation.
1353
- * @return {void} This function does not return any value but modifies the definitionArray parameter by adding appropriate definitions.
1448
+ * @param element - The element containing a reference ($ref) to a specific definition within the application schema.
1449
+ * @param appSchema - The application's schema object containing all definitions.
1450
+ * @param currentConfigObject - The current configuration object which is evaluated against the schema definitions.
1451
+ * @param definitionArray - The array to which matching definitions are added based on the evaluation.
1452
+ * This function does not return any value but modifies the definitionArray parameter by adding appropriate definitions.
1354
1453
  */
1355
1454
  function fillArrayFromAnyOfReference(element, appSchema, currentConfigObject, definitionArray) {
1356
1455
  const $ref = element.$ref;
@@ -1382,7 +1481,8 @@ function fillArrayFromAnyOfReference(element, appSchema, currentConfigObject, de
1382
1481
  }
1383
1482
  }
1384
1483
  /**
1385
- * Fills an array of next definitions from given references in the JSON schema
1484
+ * Fills an array of next definitions from given references in the JSON schema.
1485
+ *
1386
1486
  * @param propertyDefinition - Definition of the current property in schema
1387
1487
  * @param currentConfigObject - Current object in the config JSON. Evaluated to get the right value of a controlling property,
1388
1488
  * for making the right choice in case of multiple options (anyOf)
@@ -1408,7 +1508,8 @@ function fillArrayFromPropertyDefinition(propertyDefinition, currentConfigObject
1408
1508
  }
1409
1509
  /**
1410
1510
  * Determines the next definition to be handled, based on the definition array.
1411
- * It also creates the Metadata instance for the next definition, to subsequently access metadata like the syncRule
1511
+ * It also creates the Metadata instance for the next definition, to subsequently access metadata like the syncRule.
1512
+ *
1412
1513
  * @param definitionArray - Array of definitions, as determined by fillArrayFromNextDefinition
1413
1514
  * @param appSchema - app-specific JSON schema
1414
1515
  * @param title - default title
@@ -1460,7 +1561,8 @@ function determineNextDefinitionFromDefinitionArray(definitionArray, appSchema,
1460
1561
  return nextDefinition;
1461
1562
  }
1462
1563
  /**
1463
- * Recursive function to determine the next config part, next definition in the app schema and the title
1564
+ * Recursive function to determine the next config part, next definition in the app schema and the title.
1565
+ *
1464
1566
  * @param appSchema - app-specific JSON schema
1465
1567
  * @param title - default title
1466
1568
  * @param currentConfigObject - current part of the configuration that gets traversed
@@ -1468,6 +1570,7 @@ function determineNextDefinitionFromDefinitionArray(definitionArray, appSchema,
1468
1570
  * @param key - actual key
1469
1571
  * @param {MetadataInstanceInterface} factory - factory for creating metadata instances
1470
1572
  * @param pageType - page type
1573
+ * @returns {NextDefinition} - Next target definition to process
1471
1574
  */
1472
1575
  function getNextTargetDefinition(appSchema, title, currentConfigObject, propertyDefinition, key, factory, pageType) {
1473
1576
  let nextDefinition;
@@ -1483,12 +1586,12 @@ function getNextTargetDefinition(appSchema, title, currentConfigObject, property
1483
1586
  return nextDefinition;
1484
1587
  }
1485
1588
  /**
1486
- * Custom array merge function called by deepmerge's merge function
1589
+ * Custom array merge function called by deepmerge's merge function.
1487
1590
  *
1488
1591
  * @param {*} target Target array
1489
1592
  * @param {*} source Source array
1490
1593
  * @param {*} options options object provided by deepmerge's merge function
1491
- * @returns
1594
+ * @returns {string[]} Combined array with unique elements from both target and source arrays.
1492
1595
  */
1493
1596
  const arrayCombineMerge = (target, source, options) => {
1494
1597
  const destination = target.slice();
@@ -1507,7 +1610,8 @@ const arrayCombineMerge = (target, source, options) => {
1507
1610
  };
1508
1611
  exports.arrayCombineMerge = arrayCombineMerge;
1509
1612
  /**
1510
- * Converts an enum into a CSV
1613
+ * Converts an enum into a CSV.
1614
+ *
1511
1615
  * @param {object} manifestSection - manifestSection where the key exists
1512
1616
  * @param {object} configPart - Property as mentioned in config file
1513
1617
  * @param {string} key - Property to be exported to manifest
@@ -1519,7 +1623,8 @@ function convertEnumToCSV(manifestSection, configPart, key) {
1519
1623
  manifestSection[key] = field.join();
1520
1624
  }
1521
1625
  /**
1522
- * Converts an action ID from the internal format (schema, config) to the stable ID representation
1626
+ * Converts an action ID from the internal format (schema, config) to the stable ID representation.
1627
+ *
1523
1628
  * @param actionId - the (unique) internal format of the action ID
1524
1629
  * @returns the converted action ID
1525
1630
  */
@@ -1530,7 +1635,8 @@ function convertActionKeyToStableId(actionId) {
1530
1635
  return (actionId.indexOf('??') > -1 ? actionId.split('??')[1] : actionId).replace(/@/g, '::');
1531
1636
  }
1532
1637
  /**
1533
- * Method returns definition key for passed '$ref' property by removing 'definition' prefix
1638
+ * Method returns definition key for passed '$ref' property by removing 'definition' prefix.
1639
+ *
1534
1640
  * @param {string} $ref Definition reference.
1535
1641
  * @returns Definition key.
1536
1642
  */
@@ -1539,6 +1645,7 @@ function getDefinitionKey($ref) {
1539
1645
  }
1540
1646
  /**
1541
1647
  * Method returns definition $ref' property for passed definition key.
1648
+ *
1542
1649
  * @param {string} key Definition key.
1543
1650
  * @returns Definition reference.
1544
1651
  */
@@ -1580,6 +1687,7 @@ function updatePropertyIndices(schema, order) {
1580
1687
  }
1581
1688
  /**
1582
1689
  * Method to get value for passed path in passed object.
1690
+ *
1583
1691
  * @param obj Object to check.
1584
1692
  * @param paths Path for searching property/value.
1585
1693
  * @returns Found value for passed path.
@@ -1601,8 +1709,9 @@ function getJSONPropertyByPath(obj, paths) {
1601
1709
  return current;
1602
1710
  }
1603
1711
  /**
1604
- * Method to remove namespaces
1605
- * @param {string } [sId]
1712
+ * Method to remove namespaces.
1713
+ *
1714
+ * @param sId - The string identifier to process and remove namespaces from.
1606
1715
  * @returns {string} modified string without namespace
1607
1716
  */
1608
1717
  function removeNamespaces(sId) {
@@ -1611,8 +1720,9 @@ function removeNamespaces(sId) {
1611
1720
  return sId;
1612
1721
  }
1613
1722
  /**
1614
- * Method to replace namespaces with short hand form
1615
- * @param {string } [sId]
1723
+ * Method to replace namespaces with short hand form.
1724
+ *
1725
+ * @param {string } sId - The string identifier to process and replace namespaces with shorthand forms.
1616
1726
  * @returns {string} modified string with replaced namespaces
1617
1727
  */
1618
1728
  function replaceNamespaces(sId) {
@@ -1632,4 +1742,35 @@ function getRefType(element) {
1632
1742
  return reference.substring(exports.DEFINITION_LINK_PREFIX.length);
1633
1743
  }
1634
1744
  }
1745
+ /**
1746
+ * Converts a template name string from 'manifest.json' to a corresponding `PageTypeV4` enum value.
1747
+ *
1748
+ * @param {string} templateName - The name of the template to convert.
1749
+ * @returns {PageTypeV4 | undefined} The corresponding `PageTypeV4` enum value, or `undefined` if no match is found.
1750
+ */
1751
+ function convertTemplateNameToPageTypeV4(templateName) {
1752
+ if (templateName === ux_specification_types_1.v4.FE_TEMPLATE_V4_CUSTOM_PAGE) {
1753
+ return ux_specification_types_1.PageTypeV4.FPMCustomPage;
1754
+ }
1755
+ if (templateName?.startsWith(`${ux_specification_types_1.v4.FE_NAMESPACE_V4}.`)) {
1756
+ const pageType = templateName.split('.').at(-1);
1757
+ if (pageType in ux_specification_types_1.PageTypeV4) {
1758
+ return ux_specification_types_1.PageTypeV4[pageType];
1759
+ }
1760
+ }
1761
+ }
1762
+ /**
1763
+ * Determines whether two template names match either directly or by resolving their corresponding page types.
1764
+ *
1765
+ * @param templateName1 The first template name to compare.
1766
+ * @param templateName2 The second template name to compare.
1767
+ * @returns Returns true if the template names match directly or their page types match; otherwise, false.
1768
+ */
1769
+ function compareTemplateNames(templateName1, templateName2) {
1770
+ if (templateName1 === templateName2) {
1771
+ return true;
1772
+ }
1773
+ const pageType1 = convertTemplateNameToPageTypeV4(templateName1);
1774
+ return pageType1 ? pageType1 === convertTemplateNameToPageTypeV4(templateName2) : false;
1775
+ }
1635
1776
  //# sourceMappingURL=utils.js.map