@sap/ux-specification 1.84.129 → 1.84.131
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.
- package/CHANGELOG.md +466 -399
- package/dist/documentation/v2/v2-AnalyticalListPage.html +2 -2
- package/dist/documentation/v2/v2-ApplicationV2.html +2 -2
- package/dist/documentation/v2/v2-ListReport.html +2 -2
- package/dist/documentation/v2/v2-ListReportNew.html +2 -2
- package/dist/documentation/v2/v2-ObjectPage.html +2 -2
- package/dist/documentation/v2/v2-OverviewPage.html +2 -2
- package/dist/documentation/v4/v4-ApplicationV4.html +2 -2
- package/dist/documentation/v4/v4-ListReport.html +2 -2
- package/dist/documentation/v4/v4-ObjectPage.html +2 -2
- package/dist/index-min.js +182 -180
- package/dist/index-min.js.map +4 -4
- package/dist/schemas/v2/AnalyticalListPageConfig.json +3 -3
- package/dist/schemas/v2/ListReportConfig.json +5 -5
- package/dist/schemas/v2/ListReportNewConfig.json +1 -1
- package/dist/schemas/v2/ObjectPageConfig.json +5 -5
- package/dist/specification/package.json +12 -9
- package/dist/specification/scripts/extractDocu.js +18 -1
- package/dist/specification/scripts/extractDocu.js.map +1 -1
- package/dist/specification/scripts/generate-validity-report.d.ts +15 -0
- package/dist/specification/scripts/generate-validity-report.d.ts.map +1 -0
- package/dist/specification/scripts/generate-validity-report.js +320 -0
- package/dist/specification/scripts/generate-validity-report.js.map +1 -0
- package/dist/specification/src/sync/common/decoration/decorator-paths.d.ts +501 -0
- package/dist/specification/src/sync/common/decoration/decorator-paths.d.ts.map +1 -0
- package/dist/specification/src/sync/common/decoration/decorator-paths.js +497 -0
- package/dist/specification/src/sync/common/decoration/decorator-paths.js.map +1 -0
- package/dist/specification/src/sync/common/decoration/decorators.d.ts +149 -23
- package/dist/specification/src/sync/common/decoration/decorators.d.ts.map +1 -1
- package/dist/specification/src/sync/common/decoration/decorators.js +369 -74
- package/dist/specification/src/sync/common/decoration/decorators.js.map +1 -1
- package/dist/specification/src/sync/common/decoration/index.d.ts +1 -0
- package/dist/specification/src/sync/common/decoration/index.d.ts.map +1 -1
- package/dist/specification/src/sync/common/decoration/index.js +1 -0
- package/dist/specification/src/sync/common/decoration/index.js.map +1 -1
- package/dist/specification/src/sync/common/dist_tag.json +8 -3
- package/dist/specification/src/sync/common/i18n.json +2 -1
- package/dist/specification/src/sync/common/importProject.d.ts.map +1 -1
- package/dist/specification/src/sync/common/importProject.js +2 -0
- package/dist/specification/src/sync/common/importProject.js.map +1 -1
- package/dist/specification/src/sync/common/utils.d.ts +35 -7
- package/dist/specification/src/sync/common/utils.d.ts.map +1 -1
- package/dist/specification/src/sync/common/utils.js +224 -21
- package/dist/specification/src/sync/common/utils.js.map +1 -1
- package/dist/specification/src/sync/v2/export/exportPageGeneric.d.ts.map +1 -1
- package/dist/specification/src/sync/v2/export/exportPageGeneric.js +3 -13
- package/dist/specification/src/sync/v2/export/exportPageGeneric.js.map +1 -1
- package/dist/specification/src/sync/v2/generate/analyticalListReport.d.ts.map +1 -1
- package/dist/specification/src/sync/v2/generate/analyticalListReport.js +48 -0
- package/dist/specification/src/sync/v2/generate/analyticalListReport.js.map +1 -1
- package/dist/specification/src/sync/v2/generate/listReport.d.ts.map +1 -1
- package/dist/specification/src/sync/v2/generate/listReport.js +3 -1
- package/dist/specification/src/sync/v2/generate/listReport.js.map +1 -1
- package/dist/specification/src/sync/v2/generate/objectPage.d.ts.map +1 -1
- package/dist/specification/src/sync/v2/generate/objectPage.js +2 -0
- package/dist/specification/src/sync/v2/generate/objectPage.js.map +1 -1
- package/dist/specification/src/sync/v2/generate/overviewPage.d.ts +1 -8
- package/dist/specification/src/sync/v2/generate/overviewPage.d.ts.map +1 -1
- package/dist/specification/src/sync/v2/generate/overviewPage.js +30 -1
- package/dist/specification/src/sync/v2/generate/overviewPage.js.map +1 -1
- package/dist/specification/src/sync/v2/generate/schemaAdaptation.d.ts.map +1 -1
- package/dist/specification/src/sync/v2/generate/schemaAdaptation.js +28 -1
- package/dist/specification/src/sync/v2/generate/schemaAdaptation.js.map +1 -1
- package/dist/specification/src/sync/v2/import/app/appProvider.d.ts.map +1 -1
- package/dist/specification/src/sync/v2/import/app/appProvider.js +2 -0
- package/dist/specification/src/sync/v2/import/app/appProvider.js.map +1 -1
- package/dist/specification/src/sync/v2/import/importPage.d.ts.map +1 -1
- package/dist/specification/src/sync/v2/import/importPage.js +5 -6
- package/dist/specification/src/sync/v2/import/importPage.js.map +1 -1
- package/dist/specification/src/sync/v2/import/pages/analyticalListPage.d.ts +2 -1
- package/dist/specification/src/sync/v2/import/pages/analyticalListPage.d.ts.map +1 -1
- package/dist/specification/src/sync/v2/import/pages/analyticalListPage.js +5 -0
- package/dist/specification/src/sync/v2/import/pages/analyticalListPage.js.map +1 -1
- package/dist/specification/src/sync/v2/import/pages/listReport.d.ts +2 -1
- package/dist/specification/src/sync/v2/import/pages/listReport.d.ts.map +1 -1
- package/dist/specification/src/sync/v2/import/pages/listReport.js +5 -0
- package/dist/specification/src/sync/v2/import/pages/listReport.js.map +1 -1
- package/dist/specification/src/sync/v2/import/pages/objectPage.d.ts.map +1 -1
- package/dist/specification/src/sync/v2/import/pages/objectPage.js +2 -1
- package/dist/specification/src/sync/v2/import/pages/objectPage.js.map +1 -1
- package/dist/specification/src/sync/v2/import/utils.d.ts +28 -1
- package/dist/specification/src/sync/v2/import/utils.d.ts.map +1 -1
- package/dist/specification/src/sync/v2/import/utils.js +37 -0
- package/dist/specification/src/sync/v2/import/utils.js.map +1 -1
- package/dist/specification/src/sync/v2/utils.d.ts +12 -2
- package/dist/specification/src/sync/v2/utils.d.ts.map +1 -1
- package/dist/specification/src/sync/v2/utils.js +19 -2
- package/dist/specification/src/sync/v2/utils.js.map +1 -1
- package/dist/specification/src/sync/v4/application.d.ts +39 -4
- package/dist/specification/src/sync/v4/application.d.ts.map +1 -1
- package/dist/specification/src/sync/v4/application.js +67 -6
- package/dist/specification/src/sync/v4/application.js.map +1 -1
- package/dist/specification/src/sync/v4/export/controls/FilterBar.d.ts +2 -1
- package/dist/specification/src/sync/v4/export/controls/FilterBar.d.ts.map +1 -1
- package/dist/specification/src/sync/v4/export/controls/FilterBar.js +2 -1
- package/dist/specification/src/sync/v4/export/controls/FilterBar.js.map +1 -1
- package/dist/specification/src/sync/v4/export/controls/ObjectPageCustomSection.d.ts +2 -1
- package/dist/specification/src/sync/v4/export/controls/ObjectPageCustomSection.d.ts.map +1 -1
- package/dist/specification/src/sync/v4/export/controls/ObjectPageCustomSection.js +2 -1
- package/dist/specification/src/sync/v4/export/controls/ObjectPageCustomSection.js.map +1 -1
- package/dist/specification/src/sync/v4/export/controls/Table.d.ts +19 -6
- package/dist/specification/src/sync/v4/export/controls/Table.d.ts.map +1 -1
- package/dist/specification/src/sync/v4/export/controls/Table.js +24 -8
- package/dist/specification/src/sync/v4/export/controls/Table.js.map +1 -1
- package/dist/specification/src/sync/v4/export/controls/TableColumn.d.ts.map +1 -1
- package/dist/specification/src/sync/v4/export/controls/TableColumn.js +2 -2
- package/dist/specification/src/sync/v4/export/controls/TableColumn.js.map +1 -1
- package/dist/specification/src/sync/v4/export/controls/ToolBarAction.d.ts +2 -1
- package/dist/specification/src/sync/v4/export/controls/ToolBarAction.d.ts.map +1 -1
- package/dist/specification/src/sync/v4/export/controls/ToolBarAction.js +2 -1
- package/dist/specification/src/sync/v4/export/controls/ToolBarAction.js.map +1 -1
- package/dist/specification/src/sync/v4/export/export.d.ts.map +1 -1
- package/dist/specification/src/sync/v4/export/export.js +38 -8
- package/dist/specification/src/sync/v4/export/export.js.map +1 -1
- package/dist/specification/src/sync/v4/export/pages/ListReport.js +1 -1
- package/dist/specification/src/sync/v4/export/pages/ListReport.js.map +1 -1
- package/dist/specification/src/sync/v4/generate/index.d.ts +1 -1
- package/dist/specification/src/sync/v4/generate/index.d.ts.map +1 -1
- package/dist/specification/src/sync/v4/generate/index.js +1 -1
- package/dist/specification/src/sync/v4/generate/index.js.map +1 -1
- package/dist/specification/src/sync/v4/generate/list-report/ListReportUtils.d.ts +72 -0
- package/dist/specification/src/sync/v4/generate/list-report/ListReportUtils.d.ts.map +1 -0
- package/dist/specification/src/sync/v4/generate/list-report/ListReportUtils.js +299 -0
- package/dist/specification/src/sync/v4/generate/list-report/ListReportUtils.js.map +1 -0
- package/dist/specification/src/sync/v4/generate/{listReport.d.ts → list-report/listReport.d.ts} +24 -14
- package/dist/specification/src/sync/v4/generate/list-report/listReport.d.ts.map +1 -0
- package/dist/specification/src/sync/v4/generate/{listReport.js → list-report/listReport.js} +135 -130
- package/dist/specification/src/sync/v4/generate/list-report/listReport.js.map +1 -0
- package/dist/specification/src/sync/v4/generate/objectPage.d.ts.map +1 -1
- package/dist/specification/src/sync/v4/generate/objectPage.js +99 -16
- package/dist/specification/src/sync/v4/generate/objectPage.js.map +1 -1
- package/dist/specification/src/sync/v4/import/pages/listReport.d.ts.map +1 -1
- package/dist/specification/src/sync/v4/import/pages/listReport.js +15 -9
- package/dist/specification/src/sync/v4/import/pages/listReport.js.map +1 -1
- package/dist/specification/src/sync/v4/sync-rules/App.d.ts +9 -7
- package/dist/specification/src/sync/v4/sync-rules/App.d.ts.map +1 -1
- package/dist/specification/src/sync/v4/sync-rules/App.js +4 -8
- package/dist/specification/src/sync/v4/sync-rules/App.js.map +1 -1
- package/dist/specification/src/sync/v4/sync-rules/AppSchema.d.ts +2 -9
- package/dist/specification/src/sync/v4/sync-rules/AppSchema.d.ts.map +1 -1
- package/dist/specification/src/sync/v4/sync-rules/AppSchema.js +2 -11
- package/dist/specification/src/sync/v4/sync-rules/AppSchema.js.map +1 -1
- package/dist/specification/src/sync/v4/sync-rules/DecoratorClass.d.ts +177 -46
- package/dist/specification/src/sync/v4/sync-rules/DecoratorClass.d.ts.map +1 -1
- package/dist/specification/src/sync/v4/sync-rules/DecoratorClass.js +498 -152
- package/dist/specification/src/sync/v4/sync-rules/DecoratorClass.js.map +1 -1
- package/dist/specification/src/sync/v4/sync-rules/Page.d.ts +17 -22
- package/dist/specification/src/sync/v4/sync-rules/Page.d.ts.map +1 -1
- package/dist/specification/src/sync/v4/sync-rules/Page.js +15 -22
- package/dist/specification/src/sync/v4/sync-rules/Page.js.map +1 -1
- package/dist/specification/src/sync/v4/sync-rules/index.d.ts +5 -0
- package/dist/specification/src/sync/v4/sync-rules/index.d.ts.map +1 -0
- package/dist/specification/src/sync/v4/sync-rules/index.js +21 -0
- package/dist/specification/src/sync/v4/sync-rules/index.js.map +1 -0
- package/dist/specification/src/sync/v4/sync-rules/utils.d.ts.map +1 -1
- package/dist/specification/src/sync/v4/sync-rules/utils.js +4 -0
- package/dist/specification/src/sync/v4/sync-rules/utils.js.map +1 -1
- package/dist/specification/src/sync/v4/utils/index.d.ts +2 -0
- package/dist/specification/src/sync/v4/utils/index.d.ts.map +1 -0
- package/dist/specification/src/sync/v4/utils/index.js +18 -0
- package/dist/specification/src/sync/v4/utils/index.js.map +1 -0
- package/dist/specification/src/sync/v4/utils/utils.d.ts +9 -1
- package/dist/specification/src/sync/v4/utils/utils.d.ts.map +1 -1
- package/dist/specification/src/sync/v4/utils/utils.js +19 -4
- package/dist/specification/src/sync/v4/utils/utils.js.map +1 -1
- package/dist/specification/test/test-projects/v2sttaProdMan2/webapp/manifest.json +549 -0
- package/dist/specification/test/test-projects/v4new/webapp/manifest.json +147 -0
- package/dist/specification/test/test-utils/utils.d.ts +55 -0
- package/dist/specification/test/test-utils/utils.d.ts.map +1 -0
- package/dist/specification/test/test-utils/utils.js +346 -0
- package/dist/specification/test/test-utils/utils.js.map +1 -0
- package/dist/specification/test/unit/decorators/validity-test-utils.d.ts +274 -0
- package/dist/specification/test/unit/decorators/validity-test-utils.d.ts.map +1 -0
- package/dist/specification/test/unit/decorators/validity-test-utils.js +583 -0
- package/dist/specification/test/unit/decorators/validity-test-utils.js.map +1 -0
- package/dist/types/src/apiTypes.d.ts +2 -3
- package/dist/types/src/apiTypes.d.ts.map +1 -1
- package/dist/types/src/apiTypes.js.map +1 -1
- package/dist/types/src/common/types.d.ts +126 -13
- package/dist/types/src/common/types.d.ts.map +1 -1
- package/dist/types/src/common/types.js +5 -1
- package/dist/types/src/common/types.js.map +1 -1
- package/dist/types/src/v2/controls/ObjectPageTable.d.ts +1 -1
- package/dist/types/src/v2/controls/Table.d.ts +1 -1
- package/package.json +13 -10
- package/dist/specification/src/sync/v4/generate/ListReportUtils.d.ts +0 -74
- package/dist/specification/src/sync/v4/generate/ListReportUtils.d.ts.map +0 -1
- package/dist/specification/src/sync/v4/generate/ListReportUtils.js +0 -262
- package/dist/specification/src/sync/v4/generate/ListReportUtils.js.map +0 -1
- package/dist/specification/src/sync/v4/generate/listReport.d.ts.map +0 -1
- package/dist/specification/src/sync/v4/generate/listReport.js.map +0 -1
|
@@ -0,0 +1,274 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @file Test utilities for validating @validity decorator behavior
|
|
3
|
+
*
|
|
4
|
+
* This module provides helper functions for:
|
|
5
|
+
* - Extracting validity metadata from decorated classes
|
|
6
|
+
* - Generating expected vs actual visibility tables
|
|
7
|
+
* - Comparing property visibility across UI5 versions
|
|
8
|
+
* - Formatting results as markdown for snapshot testing
|
|
9
|
+
*/
|
|
10
|
+
import type { Definition } from 'typescript-json-schema';
|
|
11
|
+
/** Emoji indicator for a visible/available property */
|
|
12
|
+
export declare const EMOJI_VISIBLE = "\u2705";
|
|
13
|
+
/** Emoji indicator for a hidden/unavailable property */
|
|
14
|
+
export declare const EMOJI_HIDDEN = "\uD83D\uDEAB";
|
|
15
|
+
/** Emoji indicator for property not found in schema */
|
|
16
|
+
export declare const EMOJI_NOT_FOUND = "\u2753";
|
|
17
|
+
/**
|
|
18
|
+
* Enum to specify which type of visibility table to generate
|
|
19
|
+
*/
|
|
20
|
+
export declare enum SchemaResults {
|
|
21
|
+
/** Generate expected visibility based on @validity decorator metadata */
|
|
22
|
+
Expected = "expected",
|
|
23
|
+
/** Generate actual visibility from generated schemas */
|
|
24
|
+
Actual = "actual"
|
|
25
|
+
}
|
|
26
|
+
/**
|
|
27
|
+
* Information about a property with a @validity decorator
|
|
28
|
+
*/
|
|
29
|
+
export interface ValidityInfo {
|
|
30
|
+
/** The property name */
|
|
31
|
+
property: string;
|
|
32
|
+
/** The UI5 version since which the property is available */
|
|
33
|
+
since: string;
|
|
34
|
+
}
|
|
35
|
+
/**
|
|
36
|
+
* A row in the version visibility table showing property availability across versions
|
|
37
|
+
*/
|
|
38
|
+
export interface VersionVisibilityRow {
|
|
39
|
+
/** The property name */
|
|
40
|
+
property: string;
|
|
41
|
+
/** The UI5 version since which the property is available */
|
|
42
|
+
since: string;
|
|
43
|
+
/** Dynamic keys for each version (e.g., '1.84.0': '✅') */
|
|
44
|
+
[version: string]: string;
|
|
45
|
+
}
|
|
46
|
+
/**
|
|
47
|
+
* Function type for finding a specific definition within a schema
|
|
48
|
+
*/
|
|
49
|
+
export type DefinitionFinder = (schema: Definition) => Definition | undefined;
|
|
50
|
+
/**
|
|
51
|
+
* Resolves a definition by following $ref chains in the schema
|
|
52
|
+
*
|
|
53
|
+
* @param schema - The JSON schema containing definitions
|
|
54
|
+
* @param definitionName - The name of the definition to resolve
|
|
55
|
+
* @returns The resolved definition, or undefined if not found
|
|
56
|
+
* @example
|
|
57
|
+
* const tableDef = resolveDefinition(schema, 'Table');
|
|
58
|
+
*/
|
|
59
|
+
export declare function resolveDefinition(schema: Definition, definitionName: string): Definition | undefined;
|
|
60
|
+
/**
|
|
61
|
+
* Finds the definition containing table properties by searching common patterns
|
|
62
|
+
*
|
|
63
|
+
* Searches for definitions with names like 'TableSPV', 'LRTableView', 'Table',
|
|
64
|
+
* or any definition containing key table properties like 'condensedTableLayout'.
|
|
65
|
+
*
|
|
66
|
+
* @param schema - The JSON schema to search
|
|
67
|
+
* @returns The table definition, or undefined if not found
|
|
68
|
+
*/
|
|
69
|
+
export declare function findTableDefinition(schema: Definition): Definition | undefined;
|
|
70
|
+
/**
|
|
71
|
+
* Creates a definition finder function for a specific definition name
|
|
72
|
+
*
|
|
73
|
+
* @param definitionName - The name of the definition to find
|
|
74
|
+
* @returns A function that finds the definition in a given schema
|
|
75
|
+
* @example
|
|
76
|
+
* const finder = findDefinitionByName('CustomHeaderAction');
|
|
77
|
+
* const def = finder(schema);
|
|
78
|
+
*/
|
|
79
|
+
export declare function findDefinitionByName(definitionName: string): DefinitionFinder;
|
|
80
|
+
/**
|
|
81
|
+
* Gets all property names from a schema definition
|
|
82
|
+
*
|
|
83
|
+
* @param schema - The JSON schema containing definitions
|
|
84
|
+
* @param definitionName - The name of the definition to get properties from
|
|
85
|
+
* @returns Array of property names, or empty array if definition not found
|
|
86
|
+
*/
|
|
87
|
+
export declare function getSchemaPropertyNames(schema: Definition, definitionName: string): string[];
|
|
88
|
+
/**
|
|
89
|
+
* Checks if a property exists in a schema definition
|
|
90
|
+
*
|
|
91
|
+
* @param schema - The JSON schema containing definitions
|
|
92
|
+
* @param definitionName - The name of the definition to check
|
|
93
|
+
* @param propertyName - The name of the property to check for
|
|
94
|
+
* @returns True if the property exists, false otherwise
|
|
95
|
+
*/
|
|
96
|
+
export declare function propertyExists(schema: Definition, definitionName: string, propertyName: string): boolean;
|
|
97
|
+
/**
|
|
98
|
+
* Checks if a property is marked as hidden in a schema definition
|
|
99
|
+
*
|
|
100
|
+
* @param schema - The JSON schema containing definitions
|
|
101
|
+
* @param definitionName - The name of the definition to check
|
|
102
|
+
* @param propertyName - The name of the property to check
|
|
103
|
+
* @returns True if hidden, false if visible, undefined if property not found
|
|
104
|
+
*/
|
|
105
|
+
export declare function isPropertyHidden(schema: Definition, definitionName: string, propertyName: string): boolean | undefined;
|
|
106
|
+
/** Special version string representing the latest/newest version */
|
|
107
|
+
export declare const VERSION_LATEST = "latest";
|
|
108
|
+
/**
|
|
109
|
+
* Compares two semantic version strings
|
|
110
|
+
*
|
|
111
|
+
* Handles the special 'latest' version which is always considered
|
|
112
|
+
* greater than any other version.
|
|
113
|
+
*
|
|
114
|
+
* @param a - First version string (e.g., '1.84.0' or 'latest')
|
|
115
|
+
* @param b - Second version string (e.g., '1.96.0' or 'latest')
|
|
116
|
+
* @returns Negative if a < b, positive if a > b, zero if equal
|
|
117
|
+
* @example
|
|
118
|
+
* compareVersions('1.84.0', '1.96.0') // returns negative
|
|
119
|
+
* compareVersions('1.96.0', '1.84.0') // returns positive
|
|
120
|
+
* compareVersions('1.84.0', '1.84.0') // returns 0
|
|
121
|
+
* compareVersions('1.142.0', 'latest') // returns negative
|
|
122
|
+
* compareVersions('latest', '1.84.0') // returns positive
|
|
123
|
+
*/
|
|
124
|
+
export declare function compareVersions(a: string, b: string): number;
|
|
125
|
+
/**
|
|
126
|
+
* Extracts all properties from a class, including those with @validity decorator
|
|
127
|
+
*
|
|
128
|
+
* Walks the prototype chain to find all properties, then checks each
|
|
129
|
+
* for validity metadata. Properties without @validity are marked with since: '-'.
|
|
130
|
+
* Results are sorted by version (ascending), then alphabetically by property name.
|
|
131
|
+
*
|
|
132
|
+
* @param ClassConstructor - The class constructor to inspect
|
|
133
|
+
* @param schemaPropertyNames - Optional list of additional property names to check
|
|
134
|
+
* @param onlyWithValidity - If true, only return properties with @validity decorator (default: false)
|
|
135
|
+
* @returns Array of ValidityInfo objects sorted by version then name
|
|
136
|
+
* @example
|
|
137
|
+
* const validityProps = getValidityPropertiesFromClass(TableSettings, ['type', 'selectAll']);
|
|
138
|
+
* // Returns: [{ property: 'enableOnSelect', since: '-' }, { property: 'type', since: '1.84.0' }, ...]
|
|
139
|
+
*/
|
|
140
|
+
export declare function getValidityPropertiesFromClass(ClassConstructor: new () => object, schemaPropertyNames?: string[], onlyWithValidity?: boolean): ValidityInfo[];
|
|
141
|
+
/**
|
|
142
|
+
* Generates expected visibility table based on @validity decorator metadata
|
|
143
|
+
*
|
|
144
|
+
* For each property, determines if it should be visible in each version
|
|
145
|
+
* based on comparing the version against the property's 'since' value.
|
|
146
|
+
* Properties with since: '-' (no @validity) are always visible.
|
|
147
|
+
*
|
|
148
|
+
* @param validityInfos - Array of properties with their validity info
|
|
149
|
+
* @param versions - Array of version strings to generate columns for
|
|
150
|
+
* @returns Array of rows with visibility status for each version
|
|
151
|
+
*/
|
|
152
|
+
export declare function generateExpectedVisibilityTable(validityInfos: ValidityInfo[], versions: string[]): VersionVisibilityRow[];
|
|
153
|
+
/**
|
|
154
|
+
* Generates actual visibility table from generated schemas
|
|
155
|
+
*
|
|
156
|
+
* For each property and version, checks the actual generated schema
|
|
157
|
+
* to determine if the property is visible (not hidden).
|
|
158
|
+
*
|
|
159
|
+
* @param validityInfos - Array of properties with their validity info
|
|
160
|
+
* @param versions - Array of version strings to check
|
|
161
|
+
* @param schemaResults - Map of version strings to generated schemas
|
|
162
|
+
* @param findDefinition - Function to locate the definition within each schema
|
|
163
|
+
* @returns Array of rows with actual visibility status for each version
|
|
164
|
+
* @remarks
|
|
165
|
+
* Status symbols:
|
|
166
|
+
* - ✅ = property exists and is visible
|
|
167
|
+
* - 🚫 = property exists but is hidden
|
|
168
|
+
* - ? = schema or definition not found
|
|
169
|
+
* - - = property not found in definition
|
|
170
|
+
*/
|
|
171
|
+
export declare function generateActualVisibilityTable(validityInfos: ValidityInfo[], versions: string[], schemaResults: Map<string, Definition>, findDefinition: DefinitionFinder): VersionVisibilityRow[];
|
|
172
|
+
/**
|
|
173
|
+
* Formats visibility table as a markdown string for snapshot testing
|
|
174
|
+
*
|
|
175
|
+
* Generates a properly aligned markdown table with:
|
|
176
|
+
* - Header row with Property, Since, and version columns
|
|
177
|
+
* - Separator row
|
|
178
|
+
* - Data rows with centered emoji indicators
|
|
179
|
+
* - Legend explaining the emoji meanings
|
|
180
|
+
*
|
|
181
|
+
* @param rows - Array of visibility rows to format
|
|
182
|
+
* @param versions - Array of version strings for column headers
|
|
183
|
+
* @returns Formatted markdown table string
|
|
184
|
+
* @example
|
|
185
|
+
* ```
|
|
186
|
+
* | Property | Since | 1.84.0 | 1.96.0 |
|
|
187
|
+
* | -------- | ------ | ------ | ------ |
|
|
188
|
+
* | type | 1.84.0 | ✅ | ✅ |
|
|
189
|
+
*
|
|
190
|
+
* Legend: ✅ = visible, 🚫 = hidden
|
|
191
|
+
* ```
|
|
192
|
+
*/
|
|
193
|
+
export declare function formatVisibilityTableMarkdown(rows: VersionVisibilityRow[], versions: string[]): string;
|
|
194
|
+
/**
|
|
195
|
+
* Generates an app schema with a specific minUI5Version
|
|
196
|
+
*
|
|
197
|
+
* Creates a schema for the v4new test project with the specified
|
|
198
|
+
* UI5 version, using the provided generic schema as base.
|
|
199
|
+
*
|
|
200
|
+
* @param genericSchema - The generic schema to use as base
|
|
201
|
+
* @param minUI5Version - The minimum UI5 version to set (e.g., '1.84.0')
|
|
202
|
+
* @returns The generated app schema
|
|
203
|
+
*/
|
|
204
|
+
export declare function generateSchemaWithVersion(genericSchema: Definition, minUI5Version: string): Promise<Definition>;
|
|
205
|
+
/**
|
|
206
|
+
* Generates schemas for multiple UI5 versions
|
|
207
|
+
*
|
|
208
|
+
* @param genericSchema - The generic schema to use as base for all versions
|
|
209
|
+
* @param versions - Array of version strings to generate schemas for
|
|
210
|
+
* @returns Map of version string to generated schema
|
|
211
|
+
* @example
|
|
212
|
+
* const schemas = await generateSchemasForVersions(genericSchema, ['1.84.0', '1.96.0']);
|
|
213
|
+
* const schema84 = schemas.get('1.84.0');
|
|
214
|
+
*/
|
|
215
|
+
export declare function generateSchemasForVersions(genericSchema: Definition, versions: string[]): Promise<Map<string, Definition>>;
|
|
216
|
+
/**
|
|
217
|
+
* Gets validity properties for a class from a generic schema
|
|
218
|
+
*
|
|
219
|
+
* Combines schema property names with validity decorator metadata
|
|
220
|
+
* to get complete validity information for testing.
|
|
221
|
+
*
|
|
222
|
+
* @param genericSchema - The generic schema containing the definition
|
|
223
|
+
* @param classRef - The class constructor to extract validity metadata from
|
|
224
|
+
* @param schemaName - Optional schema definition name (defaults to class name)
|
|
225
|
+
* @returns Array of ValidityInfo objects
|
|
226
|
+
*/
|
|
227
|
+
export declare function getValidityProperties(genericSchema: Definition, classRef: new () => object, schemaName?: string): ValidityInfo[];
|
|
228
|
+
/**
|
|
229
|
+
* Generates a markdown visibility table for a decorated class
|
|
230
|
+
*
|
|
231
|
+
* @param config - Configuration object with classRef and optional schemaName
|
|
232
|
+
* @param config.classRef - The class constructor containing @validity decorators
|
|
233
|
+
* @param config.schemaName - Optional schema definition name (defaults to class name)
|
|
234
|
+
* @param schemaType - Whether to generate expected or actual visibility
|
|
235
|
+
* @param context - Test context containing genericSchema, versions, and schemaResults
|
|
236
|
+
* @returns Formatted markdown table string
|
|
237
|
+
*/
|
|
238
|
+
export declare const getPropertiesWithValidity: ({ classRef, schemaName }: {
|
|
239
|
+
classRef: new () => object;
|
|
240
|
+
schemaName?: string;
|
|
241
|
+
}, schemaType: SchemaResults, { genericSchema, versions, schemaResults }: {
|
|
242
|
+
genericSchema: any;
|
|
243
|
+
versions: any;
|
|
244
|
+
schemaResults: any;
|
|
245
|
+
}) => string;
|
|
246
|
+
/** Emoji indicator for a difference between expected and actual */
|
|
247
|
+
export declare const EMOJI_DIFF = "\u26A0\uFE0F";
|
|
248
|
+
/** Emoji indicator for match between expected and actual */
|
|
249
|
+
export declare const EMOJI_MATCH = "\u2705";
|
|
250
|
+
/**
|
|
251
|
+
* Generates a diff table comparing expected vs actual visibility
|
|
252
|
+
*
|
|
253
|
+
* For each property and version, compares expected (from @validity metadata)
|
|
254
|
+
* vs actual (from generated schema) and highlights differences.
|
|
255
|
+
*
|
|
256
|
+
* @param validityInfos - Array of properties with their validity info
|
|
257
|
+
* @param versions - Array of version strings to check
|
|
258
|
+
* @param schemaResults - Map of version strings to generated schemas
|
|
259
|
+
* @param findDefinition - Function to locate the definition within each schema
|
|
260
|
+
* @returns Array of rows showing expected vs actual comparison per version
|
|
261
|
+
*/
|
|
262
|
+
export declare function generateDiffVisibilityTable(validityInfos: ValidityInfo[], versions: string[], schemaResults: Map<string, Definition>, findDefinition: DefinitionFinder): VersionVisibilityRow[];
|
|
263
|
+
/**
|
|
264
|
+
* Formats diff table as a markdown string for snapshot testing
|
|
265
|
+
*
|
|
266
|
+
* Shows which property/version combinations have mismatches between
|
|
267
|
+
* expected (decorator metadata) and actual (generated schema) visibility.
|
|
268
|
+
*
|
|
269
|
+
* @param rows - Array of diff rows to format
|
|
270
|
+
* @param versions - Array of version strings for column headers
|
|
271
|
+
* @returns Formatted markdown table string with diff indicators
|
|
272
|
+
*/
|
|
273
|
+
export declare function formatDiffTableMarkdown(rows: VersionVisibilityRow[], versions: string[]): string;
|
|
274
|
+
//# sourceMappingURL=validity-test-utils.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"validity-test-utils.d.ts","sourceRoot":"","sources":["../../../../../test/unit/decorators/validity-test-utils.ts"],"names":[],"mappings":"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"}
|