@sap/ux-specification 1.96.103 → 1.96.105

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 (227) hide show
  1. package/CHANGELOG.md +544 -463
  2. package/dist/documentation/v2/v2-AnalyticalListPage.html +2 -2
  3. package/dist/documentation/v2/v2-ApplicationV2.html +2 -2
  4. package/dist/documentation/v2/v2-ListReport.html +2 -2
  5. package/dist/documentation/v2/v2-ListReportNew.html +2 -2
  6. package/dist/documentation/v2/v2-ObjectPage.html +2 -2
  7. package/dist/documentation/v2/v2-OverviewPage.html +2 -2
  8. package/dist/documentation/v4/v4-ApplicationV4.html +2 -2
  9. package/dist/documentation/v4/v4-BuildingBlocks.html +2 -2
  10. package/dist/documentation/v4/v4-FreestylePage.html +2 -2
  11. package/dist/documentation/v4/v4-ListReport.html +2 -2
  12. package/dist/documentation/v4/v4-ObjectPage.html +2 -2
  13. package/dist/index-min.js +257 -254
  14. package/dist/index-min.js.map +4 -4
  15. package/dist/schemas/v2/AnalyticalListPageConfig.json +3 -3
  16. package/dist/schemas/v2/ListReportConfig.json +5 -5
  17. package/dist/schemas/v2/ListReportNewConfig.json +1 -1
  18. package/dist/schemas/v2/ObjectPageConfig.json +5 -5
  19. package/dist/schemas/v4/ApplicationV4.json +1 -1
  20. package/dist/schemas/v4/BuildingBlocksConfig.json +10 -5
  21. package/dist/schemas/v4/ListReportConfig.json +24 -6
  22. package/dist/schemas/v4/ObjectPageConfig.json +9 -3
  23. package/dist/specification/package.json +13 -11
  24. package/dist/specification/scripts/extractDocu.js +18 -1
  25. package/dist/specification/scripts/extractDocu.js.map +1 -1
  26. package/dist/specification/scripts/generate-validity-report.d.ts +15 -0
  27. package/dist/specification/scripts/generate-validity-report.d.ts.map +1 -0
  28. package/dist/specification/scripts/generate-validity-report.js +327 -0
  29. package/dist/specification/scripts/generate-validity-report.js.map +1 -0
  30. package/dist/specification/scripts/macros/schema.d.ts.map +1 -1
  31. package/dist/specification/scripts/macros/schema.js +4 -1
  32. package/dist/specification/scripts/macros/schema.js.map +1 -1
  33. package/dist/specification/src/api.js +1 -1
  34. package/dist/specification/src/sync/common/decoration/decorator-paths.d.ts +501 -0
  35. package/dist/specification/src/sync/common/decoration/decorator-paths.d.ts.map +1 -0
  36. package/dist/specification/src/sync/common/decoration/decorator-paths.js +497 -0
  37. package/dist/specification/src/sync/common/decoration/decorator-paths.js.map +1 -0
  38. package/dist/specification/src/sync/common/decoration/decorators.d.ts +149 -23
  39. package/dist/specification/src/sync/common/decoration/decorators.d.ts.map +1 -1
  40. package/dist/specification/src/sync/common/decoration/decorators.js +369 -74
  41. package/dist/specification/src/sync/common/decoration/decorators.js.map +1 -1
  42. package/dist/specification/src/sync/common/decoration/index.d.ts +1 -0
  43. package/dist/specification/src/sync/common/decoration/index.d.ts.map +1 -1
  44. package/dist/specification/src/sync/common/decoration/index.js +1 -0
  45. package/dist/specification/src/sync/common/decoration/index.js.map +1 -1
  46. package/dist/specification/src/sync/common/dist_tag.json +8 -3
  47. package/dist/specification/src/sync/common/i18n.json +2 -1
  48. package/dist/specification/src/sync/common/utils.d.ts +35 -7
  49. package/dist/specification/src/sync/common/utils.d.ts.map +1 -1
  50. package/dist/specification/src/sync/common/utils.js +224 -21
  51. package/dist/specification/src/sync/common/utils.js.map +1 -1
  52. package/dist/specification/src/sync/v2/export/exportPageGeneric.d.ts.map +1 -1
  53. package/dist/specification/src/sync/v2/export/exportPageGeneric.js +3 -13
  54. package/dist/specification/src/sync/v2/export/exportPageGeneric.js.map +1 -1
  55. package/dist/specification/src/sync/v2/generate/analyticalListReport.d.ts.map +1 -1
  56. package/dist/specification/src/sync/v2/generate/analyticalListReport.js +48 -0
  57. package/dist/specification/src/sync/v2/generate/analyticalListReport.js.map +1 -1
  58. package/dist/specification/src/sync/v2/generate/listReport.d.ts.map +1 -1
  59. package/dist/specification/src/sync/v2/generate/listReport.js +3 -1
  60. package/dist/specification/src/sync/v2/generate/listReport.js.map +1 -1
  61. package/dist/specification/src/sync/v2/generate/objectPage.d.ts.map +1 -1
  62. package/dist/specification/src/sync/v2/generate/objectPage.js +2 -0
  63. package/dist/specification/src/sync/v2/generate/objectPage.js.map +1 -1
  64. package/dist/specification/src/sync/v2/generate/overviewPage.d.ts +1 -9
  65. package/dist/specification/src/sync/v2/generate/overviewPage.d.ts.map +1 -1
  66. package/dist/specification/src/sync/v2/generate/overviewPage.js +30 -1
  67. package/dist/specification/src/sync/v2/generate/overviewPage.js.map +1 -1
  68. package/dist/specification/src/sync/v2/generate/schemaAdaptation.d.ts.map +1 -1
  69. package/dist/specification/src/sync/v2/generate/schemaAdaptation.js +28 -1
  70. package/dist/specification/src/sync/v2/generate/schemaAdaptation.js.map +1 -1
  71. package/dist/specification/src/sync/v2/import/app/appProvider.d.ts.map +1 -1
  72. package/dist/specification/src/sync/v2/import/app/appProvider.js +2 -0
  73. package/dist/specification/src/sync/v2/import/app/appProvider.js.map +1 -1
  74. package/dist/specification/src/sync/v2/import/importPage.d.ts.map +1 -1
  75. package/dist/specification/src/sync/v2/import/importPage.js +5 -6
  76. package/dist/specification/src/sync/v2/import/importPage.js.map +1 -1
  77. package/dist/specification/src/sync/v2/import/pages/analyticalListPage.d.ts +2 -1
  78. package/dist/specification/src/sync/v2/import/pages/analyticalListPage.d.ts.map +1 -1
  79. package/dist/specification/src/sync/v2/import/pages/analyticalListPage.js +5 -0
  80. package/dist/specification/src/sync/v2/import/pages/analyticalListPage.js.map +1 -1
  81. package/dist/specification/src/sync/v2/import/pages/listReport.d.ts +2 -1
  82. package/dist/specification/src/sync/v2/import/pages/listReport.d.ts.map +1 -1
  83. package/dist/specification/src/sync/v2/import/pages/listReport.js +5 -0
  84. package/dist/specification/src/sync/v2/import/pages/listReport.js.map +1 -1
  85. package/dist/specification/src/sync/v2/import/pages/objectPage.d.ts.map +1 -1
  86. package/dist/specification/src/sync/v2/import/pages/objectPage.js +2 -1
  87. package/dist/specification/src/sync/v2/import/pages/objectPage.js.map +1 -1
  88. package/dist/specification/src/sync/v2/import/utils.d.ts +28 -1
  89. package/dist/specification/src/sync/v2/import/utils.d.ts.map +1 -1
  90. package/dist/specification/src/sync/v2/import/utils.js +37 -0
  91. package/dist/specification/src/sync/v2/import/utils.js.map +1 -1
  92. package/dist/specification/src/sync/v2/utils.d.ts +12 -2
  93. package/dist/specification/src/sync/v2/utils.d.ts.map +1 -1
  94. package/dist/specification/src/sync/v2/utils.js +19 -2
  95. package/dist/specification/src/sync/v2/utils.js.map +1 -1
  96. package/dist/specification/src/sync/v4/application.d.ts +20 -2
  97. package/dist/specification/src/sync/v4/application.d.ts.map +1 -1
  98. package/dist/specification/src/sync/v4/application.js +27 -2
  99. package/dist/specification/src/sync/v4/application.js.map +1 -1
  100. package/dist/specification/src/sync/v4/export/controls/FilterBar.d.ts +2 -1
  101. package/dist/specification/src/sync/v4/export/controls/FilterBar.d.ts.map +1 -1
  102. package/dist/specification/src/sync/v4/export/controls/FilterBar.js +2 -1
  103. package/dist/specification/src/sync/v4/export/controls/FilterBar.js.map +1 -1
  104. package/dist/specification/src/sync/v4/export/controls/Header.d.ts +4 -3
  105. package/dist/specification/src/sync/v4/export/controls/Header.d.ts.map +1 -1
  106. package/dist/specification/src/sync/v4/export/controls/Header.js +7 -3
  107. package/dist/specification/src/sync/v4/export/controls/Header.js.map +1 -1
  108. package/dist/specification/src/sync/v4/export/controls/HeaderAction.d.ts +1 -0
  109. package/dist/specification/src/sync/v4/export/controls/HeaderAction.d.ts.map +1 -1
  110. package/dist/specification/src/sync/v4/export/controls/HeaderAction.js +7 -0
  111. package/dist/specification/src/sync/v4/export/controls/HeaderAction.js.map +1 -1
  112. package/dist/specification/src/sync/v4/export/controls/ObjectPageCustomSection.d.ts +2 -1
  113. package/dist/specification/src/sync/v4/export/controls/ObjectPageCustomSection.d.ts.map +1 -1
  114. package/dist/specification/src/sync/v4/export/controls/ObjectPageCustomSection.js +2 -1
  115. package/dist/specification/src/sync/v4/export/controls/ObjectPageCustomSection.js.map +1 -1
  116. package/dist/specification/src/sync/v4/export/controls/ObjectPageTable.d.ts +1 -1
  117. package/dist/specification/src/sync/v4/export/controls/ObjectPageTable.d.ts.map +1 -1
  118. package/dist/specification/src/sync/v4/export/controls/ObjectPageTable.js +1 -13
  119. package/dist/specification/src/sync/v4/export/controls/ObjectPageTable.js.map +1 -1
  120. package/dist/specification/src/sync/v4/export/controls/Table.d.ts +21 -8
  121. package/dist/specification/src/sync/v4/export/controls/Table.d.ts.map +1 -1
  122. package/dist/specification/src/sync/v4/export/controls/Table.js +39 -41
  123. package/dist/specification/src/sync/v4/export/controls/Table.js.map +1 -1
  124. package/dist/specification/src/sync/v4/export/controls/TableColumn.d.ts.map +1 -1
  125. package/dist/specification/src/sync/v4/export/controls/TableColumn.js +2 -2
  126. package/dist/specification/src/sync/v4/export/controls/TableColumn.js.map +1 -1
  127. package/dist/specification/src/sync/v4/export/controls/ToolBarAction.d.ts +2 -1
  128. package/dist/specification/src/sync/v4/export/controls/ToolBarAction.d.ts.map +1 -1
  129. package/dist/specification/src/sync/v4/export/controls/ToolBarAction.js +2 -1
  130. package/dist/specification/src/sync/v4/export/controls/ToolBarAction.js.map +1 -1
  131. package/dist/specification/src/sync/v4/export/export.d.ts.map +1 -1
  132. package/dist/specification/src/sync/v4/export/export.js +36 -6
  133. package/dist/specification/src/sync/v4/export/export.js.map +1 -1
  134. package/dist/specification/src/sync/v4/export/pages/ListReport.js +1 -1
  135. package/dist/specification/src/sync/v4/export/pages/ListReport.js.map +1 -1
  136. package/dist/specification/src/sync/v4/generate/fpm-custom-page/annotations.js +1 -1
  137. package/dist/specification/src/sync/v4/generate/fpm-custom-page/annotations.js.map +1 -1
  138. package/dist/specification/src/sync/v4/generate/fpm-custom-page/generator.d.ts.map +1 -1
  139. package/dist/specification/src/sync/v4/generate/fpm-custom-page/generator.js +8 -1
  140. package/dist/specification/src/sync/v4/generate/fpm-custom-page/generator.js.map +1 -1
  141. package/dist/specification/src/sync/v4/generate/fpm-custom-page/utils.d.ts.map +1 -1
  142. package/dist/specification/src/sync/v4/generate/fpm-custom-page/utils.js +10 -1
  143. package/dist/specification/src/sync/v4/generate/fpm-custom-page/utils.js.map +1 -1
  144. package/dist/specification/src/sync/v4/generate/index.d.ts +1 -1
  145. package/dist/specification/src/sync/v4/generate/index.d.ts.map +1 -1
  146. package/dist/specification/src/sync/v4/generate/index.js +1 -1
  147. package/dist/specification/src/sync/v4/generate/index.js.map +1 -1
  148. package/dist/specification/src/sync/v4/generate/list-report/ListReportUtils.d.ts +73 -0
  149. package/dist/specification/src/sync/v4/generate/list-report/ListReportUtils.d.ts.map +1 -0
  150. package/dist/specification/src/sync/v4/generate/list-report/ListReportUtils.js +333 -0
  151. package/dist/specification/src/sync/v4/generate/list-report/ListReportUtils.js.map +1 -0
  152. package/dist/specification/src/sync/v4/generate/{listReport.d.ts → list-report/listReport.d.ts} +21 -14
  153. package/dist/specification/src/sync/v4/generate/list-report/listReport.d.ts.map +1 -0
  154. package/dist/specification/src/sync/v4/generate/{listReport.js → list-report/listReport.js} +146 -139
  155. package/dist/specification/src/sync/v4/generate/list-report/listReport.js.map +1 -0
  156. package/dist/specification/src/sync/v4/generate/objectPage.d.ts.map +1 -1
  157. package/dist/specification/src/sync/v4/generate/objectPage.js +142 -49
  158. package/dist/specification/src/sync/v4/generate/objectPage.js.map +1 -1
  159. package/dist/specification/src/sync/v4/import/pages/listReport.d.ts.map +1 -1
  160. package/dist/specification/src/sync/v4/import/pages/listReport.js +17 -11
  161. package/dist/specification/src/sync/v4/import/pages/listReport.js.map +1 -1
  162. package/dist/specification/src/sync/v4/sync-rules/App.d.ts +9 -7
  163. package/dist/specification/src/sync/v4/sync-rules/App.d.ts.map +1 -1
  164. package/dist/specification/src/sync/v4/sync-rules/App.js +4 -8
  165. package/dist/specification/src/sync/v4/sync-rules/App.js.map +1 -1
  166. package/dist/specification/src/sync/v4/sync-rules/AppSchema.d.ts +2 -9
  167. package/dist/specification/src/sync/v4/sync-rules/AppSchema.d.ts.map +1 -1
  168. package/dist/specification/src/sync/v4/sync-rules/AppSchema.js +2 -11
  169. package/dist/specification/src/sync/v4/sync-rules/AppSchema.js.map +1 -1
  170. package/dist/specification/src/sync/v4/sync-rules/DecoratorClass.d.ts +177 -46
  171. package/dist/specification/src/sync/v4/sync-rules/DecoratorClass.d.ts.map +1 -1
  172. package/dist/specification/src/sync/v4/sync-rules/DecoratorClass.js +498 -152
  173. package/dist/specification/src/sync/v4/sync-rules/DecoratorClass.js.map +1 -1
  174. package/dist/specification/src/sync/v4/sync-rules/Page.d.ts +17 -22
  175. package/dist/specification/src/sync/v4/sync-rules/Page.d.ts.map +1 -1
  176. package/dist/specification/src/sync/v4/sync-rules/Page.js +15 -22
  177. package/dist/specification/src/sync/v4/sync-rules/Page.js.map +1 -1
  178. package/dist/specification/src/sync/v4/sync-rules/controllerExtensions.d.ts +1 -0
  179. package/dist/specification/src/sync/v4/sync-rules/controllerExtensions.d.ts.map +1 -1
  180. package/dist/specification/src/sync/v4/sync-rules/controllerExtensions.js +17 -9
  181. package/dist/specification/src/sync/v4/sync-rules/controllerExtensions.js.map +1 -1
  182. package/dist/specification/src/sync/v4/sync-rules/index.d.ts +5 -0
  183. package/dist/specification/src/sync/v4/sync-rules/index.d.ts.map +1 -0
  184. package/dist/specification/src/sync/v4/sync-rules/index.js +21 -0
  185. package/dist/specification/src/sync/v4/sync-rules/index.js.map +1 -0
  186. package/dist/specification/src/sync/v4/sync-rules/utils.d.ts.map +1 -1
  187. package/dist/specification/src/sync/v4/sync-rules/utils.js +4 -0
  188. package/dist/specification/src/sync/v4/sync-rules/utils.js.map +1 -1
  189. package/dist/specification/src/sync/v4/utils/index.d.ts +2 -0
  190. package/dist/specification/src/sync/v4/utils/index.d.ts.map +1 -0
  191. package/dist/specification/src/sync/v4/utils/index.js +18 -0
  192. package/dist/specification/src/sync/v4/utils/index.js.map +1 -0
  193. package/dist/specification/src/sync/v4/utils/utils.d.ts +9 -1
  194. package/dist/specification/src/sync/v4/utils/utils.d.ts.map +1 -1
  195. package/dist/specification/src/sync/v4/utils/utils.js +18 -3
  196. package/dist/specification/src/sync/v4/utils/utils.js.map +1 -1
  197. package/dist/specification/test/test-projects/v2sttaProdMan2/webapp/manifest.json +550 -0
  198. package/dist/specification/test/test-projects/v4new/webapp/manifest.json +147 -0
  199. package/dist/specification/test/test-utils/utils.d.ts +71 -0
  200. package/dist/specification/test/test-utils/utils.d.ts.map +1 -0
  201. package/dist/specification/test/test-utils/utils.js +400 -0
  202. package/dist/specification/test/test-utils/utils.js.map +1 -0
  203. package/dist/specification/test/unit/decorators/validity-test-utils.d.ts +274 -0
  204. package/dist/specification/test/unit/decorators/validity-test-utils.d.ts.map +1 -0
  205. package/dist/specification/test/unit/decorators/validity-test-utils.js +583 -0
  206. package/dist/specification/test/unit/decorators/validity-test-utils.js.map +1 -0
  207. package/dist/types/src/apiTypes.d.ts +2 -3
  208. package/dist/types/src/apiTypes.d.ts.map +1 -1
  209. package/dist/types/src/apiTypes.js.map +1 -1
  210. package/dist/types/src/common/types.d.ts +131 -13
  211. package/dist/types/src/common/types.d.ts.map +1 -1
  212. package/dist/types/src/common/types.js +10 -1
  213. package/dist/types/src/common/types.js.map +1 -1
  214. package/dist/types/src/v2/controls/ObjectPageTable.d.ts +1 -1
  215. package/dist/types/src/v2/controls/Table.d.ts +1 -1
  216. package/dist/types/src/v4/controls/ObjectPageHeader.d.ts +1 -1
  217. package/dist/types/src/v4/controls/ObjectPageTable.d.ts +1 -1
  218. package/dist/types/src/v4/controls/ObjectPageTable.d.ts.map +1 -1
  219. package/dist/types/src/v4/controls/Table.d.ts +3 -3
  220. package/dist/types/src/v4/controls/Table.d.ts.map +1 -1
  221. package/package.json +14 -12
  222. package/dist/specification/src/sync/v4/generate/ListReportUtils.d.ts +0 -107
  223. package/dist/specification/src/sync/v4/generate/ListReportUtils.d.ts.map +0 -1
  224. package/dist/specification/src/sync/v4/generate/ListReportUtils.js +0 -374
  225. package/dist/specification/src/sync/v4/generate/ListReportUtils.js.map +0 -1
  226. package/dist/specification/src/sync/v4/generate/listReport.d.ts.map +0 -1
  227. package/dist/specification/src/sync/v4/generate/listReport.js.map +0 -1
@@ -0,0 +1,583 @@
1
+ "use strict";
2
+ /**
3
+ * @file Test utilities for validating @validity decorator behavior
4
+ *
5
+ * This module provides helper functions for:
6
+ * - Extracting validity metadata from decorated classes
7
+ * - Generating expected vs actual visibility tables
8
+ * - Comparing property visibility across UI5 versions
9
+ * - Formatting results as markdown for snapshot testing
10
+ */
11
+ var __importDefault = (this && this.__importDefault) || function (mod) {
12
+ return (mod && mod.__esModule) ? mod : { "default": mod };
13
+ };
14
+ Object.defineProperty(exports, "__esModule", { value: true });
15
+ exports.EMOJI_MATCH = exports.EMOJI_DIFF = exports.getPropertiesWithValidity = exports.VERSION_LATEST = exports.SchemaResults = exports.EMOJI_NOT_FOUND = exports.EMOJI_HIDDEN = exports.EMOJI_VISIBLE = void 0;
16
+ exports.resolveDefinition = resolveDefinition;
17
+ exports.findTableDefinition = findTableDefinition;
18
+ exports.findDefinitionByName = findDefinitionByName;
19
+ exports.getSchemaPropertyNames = getSchemaPropertyNames;
20
+ exports.propertyExists = propertyExists;
21
+ exports.isPropertyHidden = isPropertyHidden;
22
+ exports.compareVersions = compareVersions;
23
+ exports.getValidityPropertiesFromClass = getValidityPropertiesFromClass;
24
+ exports.generateExpectedVisibilityTable = generateExpectedVisibilityTable;
25
+ exports.generateActualVisibilityTable = generateActualVisibilityTable;
26
+ exports.formatVisibilityTableMarkdown = formatVisibilityTableMarkdown;
27
+ exports.generateSchemaWithVersion = generateSchemaWithVersion;
28
+ exports.generateSchemasForVersions = generateSchemasForVersions;
29
+ exports.getValidityProperties = getValidityProperties;
30
+ exports.generateDiffVisibilityTable = generateDiffVisibilityTable;
31
+ exports.formatDiffTableMarkdown = formatDiffTableMarkdown;
32
+ const ux_specification_types_1 = require("@sap/ux-specification-types");
33
+ const api_1 = require("../../../src/api");
34
+ const path_1 = require("path");
35
+ const decorators_1 = require("../../../src/sync/common/decoration/decorators");
36
+ const utils_1 = require("../../test-utils/utils");
37
+ const manifest_json_1 = __importDefault(require("../../test-projects/v4new/webapp/manifest.json"));
38
+ // ============================================================================
39
+ // Constants
40
+ // ============================================================================
41
+ /** Emoji indicator for a visible/available property */
42
+ exports.EMOJI_VISIBLE = '✅';
43
+ /** Emoji indicator for a hidden/unavailable property */
44
+ exports.EMOJI_HIDDEN = '🚫';
45
+ /** Emoji indicator for property not found in schema */
46
+ exports.EMOJI_NOT_FOUND = '❓';
47
+ // ============================================================================
48
+ // Types
49
+ // ============================================================================
50
+ /**
51
+ * Enum to specify which type of visibility table to generate
52
+ */
53
+ var SchemaResults;
54
+ (function (SchemaResults) {
55
+ /** Generate expected visibility based on @validity decorator metadata */
56
+ SchemaResults["Expected"] = "expected";
57
+ /** Generate actual visibility from generated schemas */
58
+ SchemaResults["Actual"] = "actual";
59
+ })(SchemaResults || (exports.SchemaResults = SchemaResults = {}));
60
+ // ============================================================================
61
+ // Helper Functions - Schema Operations
62
+ // ============================================================================
63
+ /**
64
+ * Resolves a definition by following $ref chains in the schema
65
+ *
66
+ * @param schema - The JSON schema containing definitions
67
+ * @param definitionName - The name of the definition to resolve
68
+ * @returns The resolved definition, or undefined if not found
69
+ * @example
70
+ * const tableDef = resolveDefinition(schema, 'Table');
71
+ */
72
+ function resolveDefinition(schema, definitionName) {
73
+ let def = schema.definitions?.[definitionName];
74
+ if (!def) {
75
+ return undefined;
76
+ }
77
+ let depth = 0;
78
+ while (def.$ref && depth < 10) {
79
+ const refName = def.$ref.replace('#/definitions/', '');
80
+ def = schema.definitions?.[refName];
81
+ if (!def) {
82
+ return undefined;
83
+ }
84
+ depth++;
85
+ }
86
+ return def;
87
+ }
88
+ /**
89
+ * Finds the definition containing table properties by searching common patterns
90
+ *
91
+ * Searches for definitions with names like 'TableSPV', 'LRTableView', 'Table',
92
+ * or any definition containing key table properties like 'condensedTableLayout'.
93
+ *
94
+ * @param schema - The JSON schema to search
95
+ * @returns The table definition, or undefined if not found
96
+ */
97
+ function findTableDefinition(schema) {
98
+ const definitions = schema.definitions || {};
99
+ // Try common table definition patterns in order of preference
100
+ const patterns = ['TableSPV', 'LRTableView', 'Table'];
101
+ for (const pattern of patterns) {
102
+ const def = definitions[pattern];
103
+ if (def?.properties && Object.keys(def.properties).length > 0) {
104
+ return def;
105
+ }
106
+ }
107
+ // Search for any definition with key table properties
108
+ const keyProps = ['condensedTableLayout', 'enableExport', 'selectionMode'];
109
+ for (const [, def] of Object.entries(definitions)) {
110
+ const d = def;
111
+ if (d?.properties) {
112
+ const hasKeyProps = keyProps.some((p) => p in d.properties);
113
+ if (hasKeyProps) {
114
+ return d;
115
+ }
116
+ }
117
+ }
118
+ return undefined;
119
+ }
120
+ /**
121
+ * Creates a definition finder function for a specific definition name
122
+ *
123
+ * @param definitionName - The name of the definition to find
124
+ * @returns A function that finds the definition in a given schema
125
+ * @example
126
+ * const finder = findDefinitionByName('CustomHeaderAction');
127
+ * const def = finder(schema);
128
+ */
129
+ function findDefinitionByName(definitionName) {
130
+ return (schema) => {
131
+ const def = schema.definitions?.[definitionName];
132
+ return def?.properties ? def : undefined;
133
+ };
134
+ }
135
+ /**
136
+ * Gets all property names from a schema definition
137
+ *
138
+ * @param schema - The JSON schema containing definitions
139
+ * @param definitionName - The name of the definition to get properties from
140
+ * @returns Array of property names, or empty array if definition not found
141
+ */
142
+ function getSchemaPropertyNames(schema, definitionName) {
143
+ const def = resolveDefinition(schema, definitionName);
144
+ return def?.properties ? Object.keys(def.properties) : [];
145
+ }
146
+ /**
147
+ * Checks if a property exists in a schema definition
148
+ *
149
+ * @param schema - The JSON schema containing definitions
150
+ * @param definitionName - The name of the definition to check
151
+ * @param propertyName - The name of the property to check for
152
+ * @returns True if the property exists, false otherwise
153
+ */
154
+ function propertyExists(schema, definitionName, propertyName) {
155
+ const def = resolveDefinition(schema, definitionName);
156
+ return def?.properties?.[propertyName] !== undefined;
157
+ }
158
+ /**
159
+ * Checks if a property is marked as hidden in a schema definition
160
+ *
161
+ * @param schema - The JSON schema containing definitions
162
+ * @param definitionName - The name of the definition to check
163
+ * @param propertyName - The name of the property to check
164
+ * @returns True if hidden, false if visible, undefined if property not found
165
+ */
166
+ function isPropertyHidden(schema, definitionName, propertyName) {
167
+ const def = resolveDefinition(schema, definitionName);
168
+ return def?.properties?.[propertyName]?.[ux_specification_types_1.SchemaTag.hidden];
169
+ }
170
+ // ============================================================================
171
+ // Helper Functions - Version Comparison
172
+ // ============================================================================
173
+ /** Special version string representing the latest/newest version */
174
+ exports.VERSION_LATEST = 'latest';
175
+ /**
176
+ * Compares two semantic version strings
177
+ *
178
+ * Handles the special 'latest' version which is always considered
179
+ * greater than any other version.
180
+ *
181
+ * @param a - First version string (e.g., '1.84.0' or 'latest')
182
+ * @param b - Second version string (e.g., '1.96.0' or 'latest')
183
+ * @returns Negative if a < b, positive if a > b, zero if equal
184
+ * @example
185
+ * compareVersions('1.84.0', '1.96.0') // returns negative
186
+ * compareVersions('1.96.0', '1.84.0') // returns positive
187
+ * compareVersions('1.84.0', '1.84.0') // returns 0
188
+ * compareVersions('1.142.0', 'latest') // returns negative
189
+ * compareVersions('latest', '1.84.0') // returns positive
190
+ */
191
+ function compareVersions(a, b) {
192
+ // Handle 'latest' as a special case - it's always the highest version
193
+ if (a === exports.VERSION_LATEST && b === exports.VERSION_LATEST) {
194
+ return 0;
195
+ }
196
+ if (a === exports.VERSION_LATEST) {
197
+ return 1;
198
+ }
199
+ if (b === exports.VERSION_LATEST) {
200
+ return -1;
201
+ }
202
+ const aParts = a.split('.').map(Number);
203
+ const bParts = b.split('.').map(Number);
204
+ for (let i = 0; i < 3; i++) {
205
+ if ((aParts[i] || 0) !== (bParts[i] || 0)) {
206
+ return (aParts[i] || 0) - (bParts[i] || 0);
207
+ }
208
+ }
209
+ return 0;
210
+ }
211
+ // ============================================================================
212
+ // Helper Functions - Validity Metadata Extraction
213
+ // ============================================================================
214
+ /**
215
+ * Extracts all properties from a class, including those with @validity decorator
216
+ *
217
+ * Walks the prototype chain to find all properties, then checks each
218
+ * for validity metadata. Properties without @validity are marked with since: '-'.
219
+ * Results are sorted by version (ascending), then alphabetically by property name.
220
+ *
221
+ * @param ClassConstructor - The class constructor to inspect
222
+ * @param schemaPropertyNames - Optional list of additional property names to check
223
+ * @param onlyWithValidity - If true, only return properties with @validity decorator (default: false)
224
+ * @returns Array of ValidityInfo objects sorted by version then name
225
+ * @example
226
+ * const validityProps = getValidityPropertiesFromClass(TableSettings, ['type', 'selectAll']);
227
+ * // Returns: [{ property: 'enableOnSelect', since: '-' }, { property: 'type', since: '1.84.0' }, ...]
228
+ */
229
+ function getValidityPropertiesFromClass(ClassConstructor, schemaPropertyNames = [], onlyWithValidity = false) {
230
+ const prototype = ClassConstructor.prototype;
231
+ const result = [];
232
+ const candidateProperties = new Set();
233
+ // Walk prototype chain to find all properties
234
+ let current = prototype;
235
+ while (current && current !== Object.prototype) {
236
+ Object.getOwnPropertyNames(current).forEach((name) => {
237
+ if (name !== 'constructor') {
238
+ candidateProperties.add(name);
239
+ }
240
+ });
241
+ current = Object.getPrototypeOf(current);
242
+ }
243
+ // Add schema property names as candidates
244
+ schemaPropertyNames.forEach((p) => candidateProperties.add(p));
245
+ for (const property of candidateProperties) {
246
+ const validity = (0, decorators_1.getValidityMetadata)(prototype, property);
247
+ if (validity?.since) {
248
+ result.push({ property, since: validity.since });
249
+ }
250
+ else if (!onlyWithValidity && schemaPropertyNames.includes(property)) {
251
+ // Include properties without @validity if they exist in schema
252
+ result.push({ property, since: '-' });
253
+ }
254
+ }
255
+ // Sort: properties without version ('-') first, then by version, then alphabetically
256
+ return result.sort((a, b) => {
257
+ // '-' (no version) comes first
258
+ if (a.since === '-' && b.since !== '-') {
259
+ return -1;
260
+ }
261
+ if (a.since !== '-' && b.since === '-') {
262
+ return 1;
263
+ }
264
+ if (a.since === '-' && b.since === '-') {
265
+ return a.property.localeCompare(b.property);
266
+ }
267
+ const versionDiff = compareVersions(a.since, b.since);
268
+ if (versionDiff !== 0) {
269
+ return versionDiff;
270
+ }
271
+ return a.property.localeCompare(b.property);
272
+ });
273
+ }
274
+ // ============================================================================
275
+ // Helper Functions - Table Formatting
276
+ // ============================================================================
277
+ /**
278
+ * Generates expected visibility table based on @validity decorator metadata
279
+ *
280
+ * For each property, determines if it should be visible in each version
281
+ * based on comparing the version against the property's 'since' value.
282
+ * Properties with since: '-' (no @validity) are always visible.
283
+ *
284
+ * @param validityInfos - Array of properties with their validity info
285
+ * @param versions - Array of version strings to generate columns for
286
+ * @returns Array of rows with visibility status for each version
287
+ */
288
+ function generateExpectedVisibilityTable(validityInfos, versions) {
289
+ return validityInfos.map((info) => {
290
+ const row = {
291
+ property: info.property,
292
+ since: info.since
293
+ };
294
+ for (const version of versions) {
295
+ const shouldBeVisible = compareVersions(version, info.since) >= 0;
296
+ row[version] = shouldBeVisible ? exports.EMOJI_VISIBLE : exports.EMOJI_HIDDEN;
297
+ }
298
+ return row;
299
+ });
300
+ }
301
+ /**
302
+ * Generates actual visibility table from generated schemas
303
+ *
304
+ * For each property and version, checks the actual generated schema
305
+ * to determine if the property is visible (not hidden).
306
+ *
307
+ * @param validityInfos - Array of properties with their validity info
308
+ * @param versions - Array of version strings to check
309
+ * @param schemaResults - Map of version strings to generated schemas
310
+ * @param findDefinition - Function to locate the definition within each schema
311
+ * @returns Array of rows with actual visibility status for each version
312
+ * @remarks
313
+ * Status symbols:
314
+ * - ✅ = property exists and is visible
315
+ * - 🚫 = property exists but is hidden
316
+ * - ? = schema or definition not found
317
+ * - - = property not found in definition
318
+ */
319
+ function generateActualVisibilityTable(validityInfos, versions, schemaResults, findDefinition) {
320
+ return validityInfos.map((info) => {
321
+ const row = {
322
+ property: info.property,
323
+ since: info.since
324
+ };
325
+ for (const version of versions) {
326
+ const schema = schemaResults.get(version);
327
+ if (!schema) {
328
+ row[version] = '?';
329
+ continue;
330
+ }
331
+ const def = findDefinition(schema);
332
+ if (!def?.properties) {
333
+ row[version] = '?';
334
+ continue;
335
+ }
336
+ const propDef = def.properties[info.property];
337
+ if (!propDef) {
338
+ row[version] = exports.EMOJI_NOT_FOUND;
339
+ continue;
340
+ }
341
+ const hidden = propDef[ux_specification_types_1.SchemaTag.hidden] === true;
342
+ row[version] = hidden ? exports.EMOJI_HIDDEN : exports.EMOJI_VISIBLE;
343
+ }
344
+ return row;
345
+ });
346
+ }
347
+ /**
348
+ * Formats visibility table as a markdown string for snapshot testing
349
+ *
350
+ * Generates a properly aligned markdown table with:
351
+ * - Header row with Property, Since, and version columns
352
+ * - Separator row
353
+ * - Data rows with centered emoji indicators
354
+ * - Legend explaining the emoji meanings
355
+ *
356
+ * @param rows - Array of visibility rows to format
357
+ * @param versions - Array of version strings for column headers
358
+ * @returns Formatted markdown table string
359
+ * @example
360
+ * ```
361
+ * | Property | Since | 1.84.0 | 1.96.0 |
362
+ * | -------- | ------ | ------ | ------ |
363
+ * | type | 1.84.0 | ✅ | ✅ |
364
+ *
365
+ * Legend: ✅ = visible, 🚫 = hidden
366
+ * ```
367
+ */
368
+ function formatVisibilityTableMarkdown(rows, versions) {
369
+ const lines = [];
370
+ // Calculate column widths
371
+ const propWidth = Math.max(26, ...rows.map((r) => r.property.length));
372
+ const sinceWidth = 7;
373
+ const versionWidth = 9;
374
+ // Helper functions for padding
375
+ const padEnd = (str, width) => str.padEnd(width);
376
+ const padCenter = (str, width) => {
377
+ const padding = width - str.length;
378
+ const left = Math.floor(padding / 2);
379
+ return ' '.repeat(left) + str + ' '.repeat(padding - left);
380
+ };
381
+ // Emoji centering - emojis are 1 char but display as 2 wide
382
+ // Use fixed padding for consistent appearance: " X " (3 spaces + emoji + 4 spaces = 9 width visually)
383
+ const padCenterEmoji = (emoji) => ` ${emoji} `;
384
+ // Header
385
+ const headerCells = [
386
+ padEnd('Property', propWidth),
387
+ padEnd('Since', sinceWidth),
388
+ ...versions.map((v) => padCenter(v, versionWidth))
389
+ ];
390
+ lines.push(`| ${headerCells.join(' | ')} |`);
391
+ // Separator
392
+ const sepCells = ['-'.repeat(propWidth), '-'.repeat(sinceWidth), ...versions.map(() => '-'.repeat(versionWidth))];
393
+ lines.push(`| ${sepCells.join(' | ')} |`);
394
+ // Data rows
395
+ for (const row of rows) {
396
+ const cells = [
397
+ padEnd(row.property, propWidth),
398
+ padEnd(row.since, sinceWidth),
399
+ ...versions.map((v) => padCenterEmoji(row[v]))
400
+ ];
401
+ lines.push(`| ${cells.join(' | ')} |`);
402
+ }
403
+ // Legend
404
+ lines.push('');
405
+ lines.push(`Legend: ${exports.EMOJI_VISIBLE} = visible (version >= since), ${exports.EMOJI_HIDDEN} = hidden (version < since), ${exports.EMOJI_NOT_FOUND} = not found in schema`);
406
+ return lines.join('\n');
407
+ }
408
+ // ============================================================================
409
+ // Helper Functions - Schema Generation
410
+ // ============================================================================
411
+ /**
412
+ * Generates an app schema with a specific minUI5Version
413
+ *
414
+ * Creates a schema for the v4new test project with the specified
415
+ * UI5 version, using the provided generic schema as base.
416
+ *
417
+ * @param genericSchema - The generic schema to use as base
418
+ * @param minUI5Version - The minimum UI5 version to set (e.g., '1.84.0')
419
+ * @returns The generated app schema
420
+ */
421
+ async function generateSchemaWithVersion(genericSchema, minUI5Version) {
422
+ const manifestTemp = JSON.parse(JSON.stringify(manifest_json_1.default));
423
+ manifestTemp['sap.ui5'].dependencies.minUI5Version = minUI5Version;
424
+ const projectRoot = (0, path_1.join)('test', 'test-projects', 'v4new');
425
+ const allAnnotationData = [
426
+ (0, utils_1.prepareFileData)((0, path_1.join)(projectRoot, 'webapp', 'localService', 'metadata.xml')),
427
+ (0, utils_1.prepareFileData)((0, path_1.join)(projectRoot, 'webapp', 'annotations', 'annotation.xml'))
428
+ ];
429
+ return (0, api_1.generateSchema)({
430
+ [ux_specification_types_1.FioriElementsVersion.v4]: {
431
+ [ux_specification_types_1.SchemaType.ListReport]: {
432
+ genericSchema,
433
+ contextPath: '/Products',
434
+ annotations: allAnnotationData,
435
+ manifest: manifestTemp
436
+ }
437
+ }
438
+ });
439
+ }
440
+ /**
441
+ * Generates schemas for multiple UI5 versions
442
+ *
443
+ * @param genericSchema - The generic schema to use as base for all versions
444
+ * @param versions - Array of version strings to generate schemas for
445
+ * @returns Map of version string to generated schema
446
+ * @example
447
+ * const schemas = await generateSchemasForVersions(genericSchema, ['1.84.0', '1.96.0']);
448
+ * const schema84 = schemas.get('1.84.0');
449
+ */
450
+ async function generateSchemasForVersions(genericSchema, versions) {
451
+ const results = new Map();
452
+ for (const version of versions) {
453
+ const schema = await generateSchemaWithVersion(genericSchema, version);
454
+ results.set(version, schema);
455
+ }
456
+ return results;
457
+ }
458
+ /**
459
+ * Gets validity properties for a class from a generic schema
460
+ *
461
+ * Combines schema property names with validity decorator metadata
462
+ * to get complete validity information for testing.
463
+ *
464
+ * @param genericSchema - The generic schema containing the definition
465
+ * @param classRef - The class constructor to extract validity metadata from
466
+ * @param schemaName - Optional schema definition name (defaults to class name)
467
+ * @returns Array of ValidityInfo objects
468
+ */
469
+ function getValidityProperties(genericSchema, classRef, schemaName) {
470
+ const schemaProps = getSchemaPropertyNames(genericSchema, schemaName || classRef.name);
471
+ const validityProperties = getValidityPropertiesFromClass(classRef, schemaProps);
472
+ return validityProperties;
473
+ }
474
+ /**
475
+ * Generates a markdown visibility table for a decorated class
476
+ *
477
+ * @param config - Configuration object with classRef and optional schemaName
478
+ * @param config.classRef - The class constructor containing @validity decorators
479
+ * @param config.schemaName - Optional schema definition name (defaults to class name)
480
+ * @param schemaType - Whether to generate expected or actual visibility
481
+ * @param context - Test context containing genericSchema, versions, and schemaResults
482
+ * @returns Formatted markdown table string
483
+ */
484
+ const getPropertiesWithValidity = ({ classRef, schemaName }, schemaType, { genericSchema, versions, schemaResults }) => {
485
+ const validityProperties = getValidityProperties(genericSchema, classRef, schemaName);
486
+ let table;
487
+ if (schemaType === SchemaResults.Expected) {
488
+ table = generateExpectedVisibilityTable(validityProperties, versions);
489
+ }
490
+ else if (schemaType === SchemaResults.Actual) {
491
+ table = generateActualVisibilityTable(validityProperties, versions, schemaResults, findDefinitionByName(schemaName || classRef.name));
492
+ }
493
+ const tableMarkdown = formatVisibilityTableMarkdown(table, versions);
494
+ return tableMarkdown;
495
+ };
496
+ exports.getPropertiesWithValidity = getPropertiesWithValidity;
497
+ /** Emoji indicator for a difference between expected and actual */
498
+ exports.EMOJI_DIFF = '⚠️';
499
+ /** Emoji indicator for match between expected and actual */
500
+ exports.EMOJI_MATCH = '✅';
501
+ /**
502
+ * Generates a diff table comparing expected vs actual visibility
503
+ *
504
+ * For each property and version, compares expected (from @validity metadata)
505
+ * vs actual (from generated schema) and highlights differences.
506
+ *
507
+ * @param validityInfos - Array of properties with their validity info
508
+ * @param versions - Array of version strings to check
509
+ * @param schemaResults - Map of version strings to generated schemas
510
+ * @param findDefinition - Function to locate the definition within each schema
511
+ * @returns Array of rows showing expected vs actual comparison per version
512
+ */
513
+ function generateDiffVisibilityTable(validityInfos, versions, schemaResults, findDefinition) {
514
+ const expectedTable = generateExpectedVisibilityTable(validityInfos, versions);
515
+ const actualTable = generateActualVisibilityTable(validityInfos, versions, schemaResults, findDefinition);
516
+ return validityInfos.map((info, index) => {
517
+ const row = {
518
+ property: info.property,
519
+ since: info.since
520
+ };
521
+ for (const version of versions) {
522
+ const expected = expectedTable[index][version];
523
+ const actual = actualTable[index][version];
524
+ if (expected === actual) {
525
+ row[version] = exports.EMOJI_MATCH;
526
+ }
527
+ else {
528
+ row[version] = exports.EMOJI_DIFF;
529
+ }
530
+ }
531
+ return row;
532
+ });
533
+ }
534
+ /**
535
+ * Formats diff table as a markdown string for snapshot testing
536
+ *
537
+ * Shows which property/version combinations have mismatches between
538
+ * expected (decorator metadata) and actual (generated schema) visibility.
539
+ *
540
+ * @param rows - Array of diff rows to format
541
+ * @param versions - Array of version strings for column headers
542
+ * @returns Formatted markdown table string with diff indicators
543
+ */
544
+ function formatDiffTableMarkdown(rows, versions) {
545
+ const lines = [];
546
+ // Calculate column widths
547
+ const propWidth = Math.max(26, ...rows.map((r) => r.property.length));
548
+ const sinceWidth = 7;
549
+ const versionWidth = 9;
550
+ // Helper functions for padding
551
+ const padEnd = (str, width) => str.padEnd(width);
552
+ const padCenter = (str, width) => {
553
+ const padding = width - str.length;
554
+ const left = Math.floor(padding / 2);
555
+ return ' '.repeat(left) + str + ' '.repeat(padding - left);
556
+ };
557
+ // Emoji centering
558
+ const padCenterEmoji = (emoji) => ` ${emoji} `;
559
+ // Header
560
+ const headerCells = [
561
+ padEnd('Property', propWidth),
562
+ padEnd('Since', sinceWidth),
563
+ ...versions.map((v) => padCenter(v, versionWidth))
564
+ ];
565
+ lines.push(`| ${headerCells.join(' | ')} |`);
566
+ // Separator
567
+ const sepCells = ['-'.repeat(propWidth), '-'.repeat(sinceWidth), ...versions.map(() => '-'.repeat(versionWidth))];
568
+ lines.push(`| ${sepCells.join(' | ')} |`);
569
+ // Data rows
570
+ for (const row of rows) {
571
+ const cells = [
572
+ padEnd(row.property, propWidth),
573
+ padEnd(row.since, sinceWidth),
574
+ ...versions.map((v) => padCenterEmoji(row[v]))
575
+ ];
576
+ lines.push(`| ${cells.join(' | ')} |`);
577
+ }
578
+ // Legend
579
+ lines.push('');
580
+ lines.push(`Legend: ${exports.EMOJI_MATCH} = match, ${exports.EMOJI_DIFF} = mismatch`);
581
+ return lines.join('\n');
582
+ }
583
+ //# sourceMappingURL=validity-test-utils.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"validity-test-utils.js","sourceRoot":"","sources":["../../../../../test/unit/decorators/validity-test-utils.ts"],"names":[],"mappings":"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"}
@@ -349,6 +349,7 @@ export type CommonImportParameters = {
349
349
  jsonSchema: object;
350
350
  fragments?: FileData[];
351
351
  logger?: ExtensionLogger;
352
+ entitySet: string;
352
353
  };
353
354
  /**
354
355
  * Types for v2 import
@@ -357,9 +358,7 @@ export type ImportListReportV2Parameters = CommonImportParameters;
357
358
  export type ImportListReportV2 = {
358
359
  [SchemaType.ListReport]: ImportListReportV2Parameters;
359
360
  };
360
- export type ImportObjectPageV2Parameters = CommonImportParameters & {
361
- entitySet: string;
362
- };
361
+ export type ImportObjectPageV2Parameters = CommonImportParameters;
363
362
  export type ImportObjectPageV2 = {
364
363
  [SchemaType.ObjectPage]: ImportObjectPageV2Parameters;
365
364
  };