@sapui5/sap.fe.core 1.121.2 → 1.123.0

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 (241) hide show
  1. package/package.json +1 -1
  2. package/src/sap/fe/core/.library +1 -1
  3. package/src/sap/fe/core/ActionRuntime.js +2 -2
  4. package/src/sap/fe/core/ActionRuntime.ts +1 -2
  5. package/src/sap/fe/core/CommonUtils.js +14 -171
  6. package/src/sap/fe/core/CommonUtils.ts +15 -221
  7. package/src/sap/fe/core/PageController.js +13 -1
  8. package/src/sap/fe/core/PageController.ts +16 -0
  9. package/src/sap/fe/core/TemplateComponent.js +6 -1
  10. package/src/sap/fe/core/TemplateComponent.ts +8 -0
  11. package/src/sap/fe/core/UIProvider.js +23 -0
  12. package/src/sap/fe/core/UIProvider.ts +38 -0
  13. package/src/sap/fe/core/buildingBlocks/BuildingBlockBase.js +97 -43
  14. package/src/sap/fe/core/buildingBlocks/BuildingBlockBase.ts +120 -50
  15. package/src/sap/fe/core/buildingBlocks/templating/BuildingBlockSupport.js +6 -3
  16. package/src/sap/fe/core/buildingBlocks/templating/BuildingBlockSupport.ts +12 -18
  17. package/src/sap/fe/core/buildingBlocks/templating/BuildingBlockTemplateProcessor.js +2 -2
  18. package/src/sap/fe/core/buildingBlocks/templating/BuildingBlockTemplateProcessor.ts +1 -1
  19. package/src/sap/fe/core/buildingBlocks/templating/BuildingBlockTemplatingBase.js +1 -1
  20. package/src/sap/fe/core/buildingBlocks/templating/BuildingBlockTemplatingBase.ts +4 -3
  21. package/src/sap/fe/core/buildingBlocks/templating/RuntimeBuildingBlockFragment.js +1 -1
  22. package/src/sap/fe/core/buildingBlocks/templating/RuntimeBuildingBlockFragment.ts +1 -0
  23. package/src/sap/fe/core/controllerextensions/BaseControllerExtension.js +42 -1
  24. package/src/sap/fe/core/controllerextensions/BaseControllerExtension.ts +40 -0
  25. package/src/sap/fe/core/controllerextensions/CollaborativeDraft.js +5 -2
  26. package/src/sap/fe/core/controllerextensions/CollaborativeDraft.ts +5 -3
  27. package/src/sap/fe/core/controllerextensions/EditFlow.js +151 -60
  28. package/src/sap/fe/core/controllerextensions/EditFlow.ts +165 -68
  29. package/src/sap/fe/core/controllerextensions/HookSupport.js +32 -14
  30. package/src/sap/fe/core/controllerextensions/HookSupport.ts +35 -14
  31. package/src/sap/fe/core/controllerextensions/IntentBasedNavigation.js +5 -17
  32. package/src/sap/fe/core/controllerextensions/IntentBasedNavigation.ts +0 -12
  33. package/src/sap/fe/core/controllerextensions/InternalIntentBasedNavigation.js +6 -6
  34. package/src/sap/fe/core/controllerextensions/InternalIntentBasedNavigation.ts +15 -10
  35. package/src/sap/fe/core/controllerextensions/InternalRouting.js +108 -287
  36. package/src/sap/fe/core/controllerextensions/InternalRouting.ts +117 -309
  37. package/src/sap/fe/core/controllerextensions/KPIManagement.js +2 -2
  38. package/src/sap/fe/core/controllerextensions/KPIManagement.ts +6 -2
  39. package/src/sap/fe/core/controllerextensions/MessageHandler.js +2 -2
  40. package/src/sap/fe/core/controllerextensions/MessageHandler.ts +1 -1
  41. package/src/sap/fe/core/controllerextensions/PageReady.js +6 -6
  42. package/src/sap/fe/core/controllerextensions/PageReady.ts +5 -4
  43. package/src/sap/fe/core/controllerextensions/Paginator.js +17 -110
  44. package/src/sap/fe/core/controllerextensions/Paginator.ts +13 -130
  45. package/src/sap/fe/core/controllerextensions/Placeholder.js +3 -3
  46. package/src/sap/fe/core/controllerextensions/Placeholder.ts +1 -2
  47. package/src/sap/fe/core/controllerextensions/Recommendations.js +36 -31
  48. package/src/sap/fe/core/controllerextensions/Recommendations.ts +32 -37
  49. package/src/sap/fe/core/controllerextensions/Share.js +7 -7
  50. package/src/sap/fe/core/controllerextensions/Share.ts +6 -6
  51. package/src/sap/fe/core/controllerextensions/SideEffects.js +52 -6
  52. package/src/sap/fe/core/controllerextensions/SideEffects.ts +56 -4
  53. package/src/sap/fe/core/controllerextensions/ViewState.js +32 -46
  54. package/src/sap/fe/core/controllerextensions/ViewState.ts +24 -31
  55. package/src/sap/fe/core/controllerextensions/dialog/OperationsDialog.block.js +42 -31
  56. package/src/sap/fe/core/controllerextensions/dialog/OperationsDialog.block.tsx +6 -0
  57. package/src/sap/fe/core/controllerextensions/editFlow/TransactionHelper.js +168 -276
  58. package/src/sap/fe/core/controllerextensions/editFlow/TransactionHelper.ts +182 -310
  59. package/src/sap/fe/core/controllerextensions/editFlow/draft.js +3 -3
  60. package/src/sap/fe/core/controllerextensions/editFlow/draft.ts +2 -2
  61. package/src/sap/fe/core/controllerextensions/editFlow/draftDataLossPopup.js +4 -3
  62. package/src/sap/fe/core/controllerextensions/editFlow/draftDataLossPopup.ts +3 -2
  63. package/src/sap/fe/core/controllerextensions/editFlow/operations/facade.js +74 -52
  64. package/src/sap/fe/core/controllerextensions/editFlow/operations/facade.ts +95 -55
  65. package/src/sap/fe/core/controllerextensions/messageHandler/messageHandling.js +3 -17
  66. package/src/sap/fe/core/controllerextensions/messageHandler/messageHandling.ts +10 -23
  67. package/src/sap/fe/core/controllerextensions/recommendations/Telemetry.js +3 -3
  68. package/src/sap/fe/core/controllerextensions/recommendations/Telemetry.ts +2 -2
  69. package/src/sap/fe/core/controllerextensions/routing/ContextPathHelper.js +225 -0
  70. package/src/sap/fe/core/controllerextensions/routing/ContextPathHelper.ts +241 -0
  71. package/src/sap/fe/core/controls/DataLossOrDraftDiscard/DraftDataLossDialog.block.js +69 -48
  72. package/src/sap/fe/core/controls/DataLossOrDraftDiscard/DraftDataLossDialog.block.tsx +56 -33
  73. package/src/sap/fe/core/controls/FormElementWrapper.js +8 -11
  74. package/src/sap/fe/core/controls/FormElementWrapper.ts +9 -0
  75. package/src/sap/fe/core/controls/Recommendations/ConfirmRecommendationDialog.block.js +6 -14
  76. package/src/sap/fe/core/controls/Recommendations/ConfirmRecommendationDialog.block.tsx +12 -23
  77. package/src/sap/fe/core/converters/ConverterContext.js +17 -9
  78. package/src/sap/fe/core/converters/ConverterContext.ts +55 -41
  79. package/src/sap/fe/core/converters/ManifestSettings.js +1 -1
  80. package/src/sap/fe/core/converters/ManifestSettings.ts +19 -5
  81. package/src/sap/fe/core/converters/ManifestWrapper.js +14 -4
  82. package/src/sap/fe/core/converters/ManifestWrapper.ts +21 -10
  83. package/src/sap/fe/core/converters/MetaModelConverter.js +402 -383
  84. package/src/sap/fe/core/converters/MetaModelConverter.ts +538 -338
  85. package/src/sap/fe/core/converters/TemplateConverter.js +4 -2
  86. package/src/sap/fe/core/converters/TemplateConverter.ts +18 -13
  87. package/src/sap/fe/core/converters/annotations/DataField.js +30 -28
  88. package/src/sap/fe/core/converters/annotations/DataField.ts +58 -35
  89. package/src/sap/fe/core/converters/common/AnnotationConverter.js +24 -23
  90. package/src/sap/fe/core/converters/controls/Common/Action.js +5 -4
  91. package/src/sap/fe/core/converters/controls/Common/Action.ts +34 -28
  92. package/src/sap/fe/core/converters/controls/Common/Chart.js +37 -33
  93. package/src/sap/fe/core/converters/controls/Common/Chart.ts +64 -46
  94. package/src/sap/fe/core/converters/controls/Common/DataVisualization.js +15 -4
  95. package/src/sap/fe/core/converters/controls/Common/DataVisualization.ts +31 -15
  96. package/src/sap/fe/core/converters/controls/Common/Form.js +6 -4
  97. package/src/sap/fe/core/converters/controls/Common/Form.ts +23 -11
  98. package/src/sap/fe/core/converters/controls/Common/KPI.js +5 -3
  99. package/src/sap/fe/core/converters/controls/Common/KPI.ts +17 -11
  100. package/src/sap/fe/core/converters/controls/Common/Table.js +197 -101
  101. package/src/sap/fe/core/converters/controls/Common/Table.ts +393 -182
  102. package/src/sap/fe/core/converters/controls/Common/table/StandardActions.js +4 -5
  103. package/src/sap/fe/core/converters/controls/Common/table/StandardActions.ts +38 -27
  104. package/src/sap/fe/core/converters/controls/ListReport/FilterBar.js +41 -11
  105. package/src/sap/fe/core/converters/controls/ListReport/FilterBar.ts +112 -45
  106. package/src/sap/fe/core/converters/controls/ListReport/VisualFilters.js +7 -7
  107. package/src/sap/fe/core/converters/controls/ListReport/VisualFilters.ts +18 -12
  108. package/src/sap/fe/core/converters/controls/ObjectPage/Avatar.js +1 -1
  109. package/src/sap/fe/core/converters/controls/ObjectPage/Avatar.ts +5 -4
  110. package/src/sap/fe/core/converters/controls/ObjectPage/HeaderFacet.js +1 -1
  111. package/src/sap/fe/core/converters/controls/ObjectPage/HeaderFacet.ts +19 -9
  112. package/src/sap/fe/core/converters/controls/ObjectPage/SubSection.js +64 -63
  113. package/src/sap/fe/core/converters/controls/ObjectPage/SubSection.ts +109 -100
  114. package/src/sap/fe/core/converters/helpers/Aggregation.js +12 -11
  115. package/src/sap/fe/core/converters/helpers/Aggregation.ts +35 -30
  116. package/src/sap/fe/core/converters/helpers/ConfigurableObject.js +4 -1
  117. package/src/sap/fe/core/converters/helpers/ConfigurableObject.ts +12 -9
  118. package/src/sap/fe/core/converters/helpers/DataFieldHelper.js +1 -1
  119. package/src/sap/fe/core/converters/helpers/DataFieldHelper.ts +1 -1
  120. package/src/sap/fe/core/converters/helpers/ID.js +1 -1
  121. package/src/sap/fe/core/converters/helpers/ID.ts +6 -6
  122. package/src/sap/fe/core/converters/helpers/InsightsHelpers.js +3 -3
  123. package/src/sap/fe/core/converters/helpers/InsightsHelpers.ts +11 -6
  124. package/src/sap/fe/core/converters/helpers/Key.js +2 -2
  125. package/src/sap/fe/core/converters/helpers/Key.ts +4 -4
  126. package/src/sap/fe/core/converters/helpers/SelectionVariantHelper.js +1 -1
  127. package/src/sap/fe/core/converters/helpers/SelectionVariantHelper.ts +2 -2
  128. package/src/sap/fe/core/converters/objectPage/FormMenuActions.js +21 -19
  129. package/src/sap/fe/core/converters/objectPage/FormMenuActions.ts +43 -31
  130. package/src/sap/fe/core/converters/objectPage/HeaderAndFooterAction.js +1 -1
  131. package/src/sap/fe/core/converters/objectPage/HeaderAndFooterAction.ts +16 -12
  132. package/src/sap/fe/core/converters/templates/ListReportConverter.js +8 -3
  133. package/src/sap/fe/core/converters/templates/ListReportConverter.ts +41 -21
  134. package/src/sap/fe/core/converters/templates/ObjectPageConverter.js +5 -3
  135. package/src/sap/fe/core/converters/templates/ObjectPageConverter.ts +24 -19
  136. package/src/sap/fe/core/designtime/AppComponent.designtime.js +3 -2
  137. package/src/sap/fe/core/designtime/AppComponent.designtime.ts +2 -1
  138. package/src/sap/fe/core/filter/DraftEditState.fragment.xml +1 -1
  139. package/src/sap/fe/core/formatters/CollaborationFormatter.js +4 -6
  140. package/src/sap/fe/core/formatters/CollaborationFormatter.ts +5 -4
  141. package/src/sap/fe/core/formatters/FPMFormatter.js +5 -13
  142. package/src/sap/fe/core/formatters/FPMFormatter.ts +11 -10
  143. package/src/sap/fe/core/formatters/FiscalFormat.js +1 -1
  144. package/src/sap/fe/core/formatters/FiscalFormat.ts +1 -1
  145. package/src/sap/fe/core/formatters/KPIFormatter.js +4 -7
  146. package/src/sap/fe/core/formatters/KPIFormatter.ts +3 -3
  147. package/src/sap/fe/core/formatters/StandardFormatter.js +4 -7
  148. package/src/sap/fe/core/formatters/StandardFormatter.ts +3 -3
  149. package/src/sap/fe/core/formatters/ValueFormatter.js +35 -6
  150. package/src/sap/fe/core/formatters/ValueFormatter.ts +31 -3
  151. package/src/sap/fe/core/fpm/manifest.json +1 -1
  152. package/src/sap/fe/core/helpers/AppStartupHelper.js +54 -33
  153. package/src/sap/fe/core/helpers/AppStartupHelper.ts +62 -41
  154. package/src/sap/fe/core/helpers/BindingToolkit.js +17 -3
  155. package/src/sap/fe/core/helpers/BindingToolkit.ts +28 -6
  156. package/src/sap/fe/core/helpers/ClassSupport.js +32 -13
  157. package/src/sap/fe/core/helpers/ClassSupport.ts +35 -15
  158. package/src/sap/fe/core/helpers/DeleteHelper.js +71 -61
  159. package/src/sap/fe/core/helpers/DeleteHelper.ts +125 -103
  160. package/src/sap/fe/core/helpers/DraftEditState.js +5 -3
  161. package/src/sap/fe/core/helpers/DraftEditState.ts +3 -1
  162. package/src/sap/fe/core/helpers/FPMHelper.js +43 -46
  163. package/src/sap/fe/core/helpers/FPMHelper.ts +50 -56
  164. package/src/sap/fe/core/helpers/MetaModelFunction.js +77 -53
  165. package/src/sap/fe/core/helpers/MetaModelFunction.ts +78 -57
  166. package/src/sap/fe/core/helpers/ModelHelper.js +10 -4
  167. package/src/sap/fe/core/helpers/ModelHelper.ts +12 -6
  168. package/src/sap/fe/core/helpers/PasteHelper.js +194 -7
  169. package/src/sap/fe/core/helpers/PasteHelper.ts +265 -13
  170. package/src/sap/fe/core/helpers/PromiseKeeper.js +66 -0
  171. package/src/sap/fe/core/helpers/PromiseKeeper.ts +56 -0
  172. package/src/sap/fe/core/helpers/SemanticKeyHelper.js +30 -19
  173. package/src/sap/fe/core/helpers/SemanticKeyHelper.ts +34 -22
  174. package/src/sap/fe/core/helpers/StableIdHelper.js +1 -1
  175. package/src/sap/fe/core/helpers/StableIdHelper.ts +7 -2
  176. package/src/sap/fe/core/helpers/StandardRecommendationHelper.js +26 -52
  177. package/src/sap/fe/core/helpers/StandardRecommendationHelper.ts +37 -63
  178. package/src/sap/fe/core/helpers/TitleHelper.js +1 -1
  179. package/src/sap/fe/core/helpers/TitleHelper.ts +17 -14
  180. package/src/sap/fe/core/helpers/TypeGuards.js +27 -3
  181. package/src/sap/fe/core/helpers/TypeGuards.ts +37 -7
  182. package/src/sap/fe/core/jsx-runtime/jsx-xml.js +48 -8
  183. package/src/sap/fe/core/jsx-runtime/jsx-xml.ts +40 -9
  184. package/src/sap/fe/core/library.js +1 -1
  185. package/src/sap/fe/core/messagebundle.properties +5 -2
  186. package/src/sap/fe/core/messagebundle_da.properties +1 -1
  187. package/src/sap/fe/core/messagebundle_en.properties +267 -2
  188. package/src/sap/fe/core/messagebundle_sl.properties +1 -1
  189. package/src/sap/fe/core/operationsHelper.js +2 -1
  190. package/src/sap/fe/core/operationsHelper.ts +1 -0
  191. package/src/sap/fe/core/services/EnvironmentServiceFactory.js +3 -3
  192. package/src/sap/fe/core/services/EnvironmentServiceFactory.ts +2 -2
  193. package/src/sap/fe/core/services/NavigationServiceFactory.js +2 -2
  194. package/src/sap/fe/core/services/NavigationServiceFactory.ts +3 -2
  195. package/src/sap/fe/core/services/RoutingServiceFactory.js +27 -14
  196. package/src/sap/fe/core/services/RoutingServiceFactory.ts +27 -14
  197. package/src/sap/fe/core/services/ShellServicesFactory.js +49 -12
  198. package/src/sap/fe/core/services/ShellServicesFactory.ts +62 -13
  199. package/src/sap/fe/core/services/SideEffectsServiceFactory.js +156 -82
  200. package/src/sap/fe/core/services/SideEffectsServiceFactory.ts +218 -100
  201. package/src/sap/fe/core/services/TelemetryServiceFactory.js +3 -3
  202. package/src/sap/fe/core/services/TelemetryServiceFactory.ts +6 -6
  203. package/src/sap/fe/core/services/ValueHelpHistoryServiceFactory.js +3 -2
  204. package/src/sap/fe/core/services/ValueHelpHistoryServiceFactory.ts +1 -1
  205. package/src/sap/fe/core/services/collaborativeDraftServiceFactory.js +1 -1
  206. package/src/sap/fe/core/services/collaborativeDraftServiceFactory.ts +2 -2
  207. package/src/sap/fe/core/services/view/TemplatingErrorPage.view.xml +1 -1
  208. package/src/sap/fe/core/templating/CommonFormatters.js +6 -3
  209. package/src/sap/fe/core/templating/CommonFormatters.ts +13 -12
  210. package/src/sap/fe/core/templating/CriticalityFormatters.js +2 -2
  211. package/src/sap/fe/core/templating/CriticalityFormatters.ts +37 -14
  212. package/src/sap/fe/core/templating/DataFieldFormatters.js +12 -11
  213. package/src/sap/fe/core/templating/DataFieldFormatters.ts +35 -24
  214. package/src/sap/fe/core/templating/DataModelPathHelper.js +22 -18
  215. package/src/sap/fe/core/templating/DataModelPathHelper.ts +61 -51
  216. package/src/sap/fe/core/templating/DisplayModeFormatter.js +1 -1
  217. package/src/sap/fe/core/templating/DisplayModeFormatter.ts +8 -3
  218. package/src/sap/fe/core/templating/EntityTypeHelper.js +1 -1
  219. package/src/sap/fe/core/templating/EntityTypeHelper.ts +1 -1
  220. package/src/sap/fe/core/templating/FieldControlHelper.js +3 -3
  221. package/src/sap/fe/core/templating/FieldControlHelper.ts +27 -8
  222. package/src/sap/fe/core/templating/FilterHelper.js +13 -10
  223. package/src/sap/fe/core/templating/FilterHelper.ts +80 -46
  224. package/src/sap/fe/core/templating/FilterTemplating.js +1 -1
  225. package/src/sap/fe/core/templating/FilterTemplating.ts +2 -2
  226. package/src/sap/fe/core/templating/PropertyFormatters.js +6 -8
  227. package/src/sap/fe/core/templating/PropertyFormatters.ts +11 -11
  228. package/src/sap/fe/core/templating/PropertyHelper.js +3 -3
  229. package/src/sap/fe/core/templating/PropertyHelper.ts +4 -4
  230. package/src/sap/fe/core/templating/SemanticObjectHelper.js +157 -13
  231. package/src/sap/fe/core/templating/SemanticObjectHelper.ts +182 -16
  232. package/src/sap/fe/core/templating/UIFormatters.js +23 -22
  233. package/src/sap/fe/core/templating/UIFormatters.ts +94 -66
  234. package/src/sap/fe/core/type/DateTimeWithTimezone.js +1 -1
  235. package/src/sap/fe/core/type/DateTimeWithTimezone.ts +2 -2
  236. package/src/sap/fe/core/type/EDM.js +1 -1
  237. package/src/sap/fe/core/type/EDM.ts +2 -2
  238. package/src/sap/fe/core/type/Email.js +1 -1
  239. package/src/sap/fe/core/type/Email.ts +1 -1
  240. package/src/sap/fe/core/type/FiscalDate.js +2 -2
  241. package/src/sap/fe/core/type/FiscalDate.ts +2 -2
@@ -1,17 +1,23 @@
1
- import type { Action, ConvertedMetadata, PathAnnotationExpression, Property } from "@sap-ux/vocabularies-types";
1
+ import type { Action, ActionParameter, ConvertedMetadata, PathAnnotationExpression, Property } from "@sap-ux/vocabularies-types";
2
+ import type { AnnotationPath } from "@sap-ux/vocabularies-types/Edm";
2
3
  import { CoreAnnotationTerms } from "@sap-ux/vocabularies-types/vocabularies/Core";
4
+ import type { Unit } from "@sap-ux/vocabularies-types/vocabularies/Measures";
3
5
  import type {
4
6
  CollectionFacet,
7
+ ConnectedFieldsType,
8
+ DataField,
5
9
  DataFieldAbstractTypes,
6
10
  DataFieldForActionTypes,
11
+ DataPointType,
7
12
  DataPointTypeTypes,
8
13
  ReferenceFacet
9
14
  } from "@sap-ux/vocabularies-types/vocabularies/UI";
10
15
  import { UIAnnotationTypes } from "@sap-ux/vocabularies-types/vocabularies/UI";
11
16
  import { convertMetaModelContext, getInvolvedDataModelObjects } from "sap/fe/core/converters/MetaModelConverter";
17
+ import type { PageContextPathTarget } from "sap/fe/core/converters/TemplateConverter";
12
18
  import valueFormatters from "sap/fe/core/formatters/ValueFormatter";
13
19
  import { UI, bindingContextPathVisitor, singletonPathVisitor } from "sap/fe/core/helpers/BindingHelper";
14
- import type { BindingToolkitExpression, CompiledBindingToolkitExpression } from "sap/fe/core/helpers/BindingToolkit";
20
+ import type { BindingToolkitExpression, CompiledBindingToolkitExpression, Fn } from "sap/fe/core/helpers/BindingToolkit";
15
21
  import {
16
22
  EDM_TYPE_MAPPING,
17
23
  addTypeInformation,
@@ -30,7 +36,7 @@ import {
30
36
  pathInModel,
31
37
  unresolvableExpression
32
38
  } from "sap/fe/core/helpers/BindingToolkit";
33
- import { isMultipleNavigationProperty, isPathAnnotationExpression, isProperty } from "sap/fe/core/helpers/TypeGuards";
39
+ import { isAnnotationOfType, isMultipleNavigationProperty, isPathAnnotationExpression, isProperty } from "sap/fe/core/helpers/TypeGuards";
34
40
  import type { DataModelObjectPath } from "sap/fe/core/templating/DataModelPathHelper";
35
41
  import {
36
42
  enhanceDataModelPath,
@@ -62,6 +68,8 @@ import type Context from "sap/ui/model/Context";
62
68
  // Import-export method used by the converter to use them in the templating through the UIFormatters.
63
69
  export type DisplayMode = DisplayModeFormatter.DisplayMode;
64
70
 
71
+ export type FieldEditStyle = "RadioButtons";
72
+
65
73
  export type PropertyOrPath<P> = string | P | PathAnnotationExpression<P>;
66
74
  export type MetaModelContext = {
67
75
  $kind: string;
@@ -74,7 +82,7 @@ export type MetaModelContext = {
74
82
  */
75
83
  export type ComputedAnnotationInterface = {
76
84
  context: Context;
77
- arguments?: any[];
85
+ arguments?: unknown[];
78
86
  $$valueAsPromise?: boolean;
79
87
  };
80
88
 
@@ -95,25 +103,24 @@ export type configTypeformatOptions = {
95
103
  parseKeepsEmptyString?: boolean;
96
104
  };
97
105
 
98
- export type configType = {
106
+ export type ConfigType = {
99
107
  type: string;
100
108
  constraints: configTypeConstraints;
101
109
  formatOptions: configTypeformatOptions;
102
110
  };
103
111
 
104
- export const getDisplayMode = function (oDataModelObjectPath: DataModelObjectPath): DisplayMode {
112
+ export const getDisplayMode = function (
113
+ oDataModelObjectPath: DataModelObjectPath<Property | DataFieldAbstractTypes | DataPointTypeTypes>
114
+ ): DisplayMode {
105
115
  return DisplayModeFormatter.getDisplayMode(oDataModelObjectPath.targetObject, oDataModelObjectPath);
106
116
  };
107
117
  export const getEditableExpressionAsObject = function (
108
118
  oPropertyPath: PropertyOrPath<Property>,
109
- oDataFieldConverted: unknown,
110
- oDataModelObjectPath: DataModelObjectPath,
119
+ oDataFieldConverted: DataFieldAbstractTypes | DataPointTypeTypes | undefined,
120
+ oDataModelObjectPath: DataModelObjectPath<unknown>,
111
121
  isEditable: BindingToolkitExpression<boolean> = UI.IsEditable,
112
122
  considerUpdateRestrictions = true
113
123
  ): BindingToolkitExpression<boolean> {
114
- if (oDataFieldConverted === undefined) {
115
- oDataFieldConverted = null;
116
- }
117
124
  return getEditableExpression(
118
125
  oPropertyPath,
119
126
  oDataFieldConverted,
@@ -143,8 +150,8 @@ export type dateFormatOptions = {
143
150
  */
144
151
  export const getEditableExpression = function (
145
152
  oPropertyPath: PropertyOrPath<Property>,
146
- oDataFieldConverted: any = null,
147
- oDataModelObjectPath: DataModelObjectPath,
153
+ oDataFieldConverted: Property | DataFieldAbstractTypes | DataPointTypeTypes | undefined = undefined,
154
+ oDataModelObjectPath: DataModelObjectPath<unknown>,
148
155
  bAsObject = false,
149
156
  isEditable: BindingToolkitExpression<boolean> = UI.IsEditable,
150
157
  considerUpdateRestrictions = true
@@ -153,7 +160,7 @@ export const getEditableExpression = function (
153
160
  return compileExpression(false);
154
161
  }
155
162
  let dataFieldEditableExpression: BindingToolkitExpression<boolean> = constant(true);
156
- if (oDataFieldConverted !== null) {
163
+ if (oDataFieldConverted !== undefined) {
157
164
  dataFieldEditableExpression = ifElse(isNonEditableExpression(oDataFieldConverted), false, isEditable);
158
165
  }
159
166
 
@@ -197,14 +204,14 @@ export const getEditableExpression = function (
197
204
  return compileExpression(and(editableExpression, dataFieldEditableExpression));
198
205
  };
199
206
 
200
- export const getCollaborationExpression = function (
201
- dataModelObjectPath: DataModelObjectPath,
202
- formatter: any
203
- ): BindingToolkitExpression<any> {
207
+ export const getCollaborationExpression = function <T>(
208
+ dataModelObjectPath: DataModelObjectPath<Property>,
209
+ formatter: Fn<T>
210
+ ): BindingToolkitExpression<T> {
204
211
  const objectPath = getTargetObjectPath(dataModelObjectPath);
205
212
  const activityExpression = pathInModel(`/collaboration/activities${objectPath}`, "internal");
206
213
  const keys = dataModelObjectPath?.targetEntityType?.keys;
207
- const keysExpressions: BindingToolkitExpression<any>[] = [];
214
+ const keysExpressions: BindingToolkitExpression<unknown>[] = [];
208
215
  keys?.forEach(function (key) {
209
216
  const keyExpression = pathInModel(key.name);
210
217
  keysExpressions.push(keyExpression);
@@ -213,8 +220,8 @@ export const getCollaborationExpression = function (
213
220
  };
214
221
  export const getEnabledExpressionAsObject = function (
215
222
  oPropertyPath: PropertyOrPath<Property>,
216
- oDataFieldConverted?: any,
217
- oDataModelObjectPath?: DataModelObjectPath
223
+ oDataFieldConverted?: DataFieldAbstractTypes | DataPointTypeTypes,
224
+ oDataModelObjectPath?: DataModelObjectPath<unknown>
218
225
  ): BindingToolkitExpression<boolean> {
219
226
  return getEnabledExpression(oPropertyPath, oDataFieldConverted, true, oDataModelObjectPath) as BindingToolkitExpression<boolean>;
220
227
  };
@@ -229,9 +236,9 @@ export const getEnabledExpressionAsObject = function (
229
236
  */
230
237
  export const getEnabledExpression = function (
231
238
  oPropertyPath: PropertyOrPath<Property>,
232
- oDataFieldConverted?: any,
239
+ oDataFieldConverted?: DataFieldAbstractTypes | DataPointTypeTypes,
233
240
  bAsObject = false,
234
- oDataModelObjectPath?: DataModelObjectPath
241
+ oDataModelObjectPath?: DataModelObjectPath<unknown>
235
242
  ): CompiledBindingToolkitExpression | BindingToolkitExpression<boolean> {
236
243
  if (!oPropertyPath || typeof oPropertyPath === "string") {
237
244
  return compileExpression(true);
@@ -241,7 +248,7 @@ export const getEnabledExpression = function (
241
248
  relativePath = getRelativePaths(oDataModelObjectPath);
242
249
  }
243
250
  let dataFieldEnabledExpression: BindingToolkitExpression<boolean> = constant(true);
244
- if (oDataFieldConverted !== null) {
251
+ if (oDataFieldConverted !== undefined) {
245
252
  dataFieldEnabledExpression = ifElse(isDisabledExpression(oDataFieldConverted), false, true);
246
253
  }
247
254
 
@@ -269,10 +276,10 @@ export const getEnabledExpression = function (
269
276
  */
270
277
  export const getEditMode = function (
271
278
  propertyPath: PropertyOrPath<Property>,
272
- dataModelObjectPath: DataModelObjectPath,
279
+ dataModelObjectPath: DataModelObjectPath<unknown>,
273
280
  measureReadOnly = false,
274
281
  asObject = false,
275
- dataFieldConverted: any = null,
282
+ dataFieldConverted: DataFieldAbstractTypes | DataPointTypeTypes | undefined = undefined,
276
283
  isEditable: BindingToolkitExpression<boolean> = UI.IsEditable
277
284
  ): CompiledBindingToolkitExpression | BindingToolkitExpression<string> {
278
285
  if (!propertyPath || typeof propertyPath === "string" || dataFieldConverted?.$Type === UIAnnotationTypes.DataFieldWithNavigationPath) {
@@ -332,11 +339,11 @@ export const getEditMode = function (
332
339
  };
333
340
 
334
341
  export const hasValidAnalyticalCurrencyOrUnit = function (
335
- oPropertyDataModelObjectPath: DataModelObjectPath
342
+ oPropertyDataModelObjectPath: DataModelObjectPath<Property> | undefined
336
343
  ): CompiledBindingToolkitExpression {
337
- const oPropertyDefinition = oPropertyDataModelObjectPath.targetObject as Property;
338
- const currency = oPropertyDefinition.annotations?.Measures?.ISOCurrency;
339
- const measure = currency ? currency : oPropertyDefinition.annotations?.Measures?.Unit;
344
+ const oPropertyDefinition = oPropertyDataModelObjectPath?.targetObject;
345
+ const currency = oPropertyDefinition?.annotations?.Measures?.ISOCurrency;
346
+ const measure = currency ? currency : oPropertyDefinition?.annotations?.Measures?.Unit;
340
347
  if (measure) {
341
348
  return compileExpression(or(isTruthy(getExpressionFromAnnotation(measure)), not(UI.IsTotal)));
342
349
  } else {
@@ -367,9 +374,9 @@ export const getFieldDisplay = function (
367
374
  }
368
375
  };
369
376
 
370
- export const getTypeConfig = function (oProperty: Property | DataFieldAbstractTypes, dataType: string | undefined): any {
377
+ export const getTypeConfig = function (oProperty: Property | DataFieldAbstractTypes, dataType: string | undefined): ConfigType {
371
378
  const oTargetMapping = EDM_TYPE_MAPPING[(oProperty as Property)?.type] || (dataType ? EDM_TYPE_MAPPING[dataType] : undefined);
372
- const propertyTypeConfig: configType = {
379
+ const propertyTypeConfig: ConfigType = {
373
380
  type: oTargetMapping.type,
374
381
  constraints: {},
375
382
  formatOptions: {}
@@ -416,10 +423,12 @@ export const getTypeConfig = function (oProperty: Property | DataFieldAbstractTy
416
423
  };
417
424
 
418
425
  export const getBindingWithUnitOrCurrency = function (
419
- oPropertyDataModelPath: DataModelObjectPath,
426
+ oPropertyDataModelPath: DataModelObjectPath<Property>,
420
427
  propertyBindingExpression: BindingToolkitExpression<string>,
421
428
  ignoreUnitConstraint?: boolean,
422
- formatOptions?: any
429
+ formatOptions?: {
430
+ showMeasure?: boolean;
431
+ }
423
432
  ): BindingToolkitExpression<string> {
424
433
  const oPropertyDefinition = oPropertyDataModelPath.targetObject as Property;
425
434
  let unit = oPropertyDefinition.annotations?.Measures?.Unit;
@@ -432,7 +441,7 @@ export const getBindingWithUnitOrCurrency = function (
432
441
  return formatResult([propertyBindingExpression], valueFormatters.formatWithPercentage);
433
442
  }
434
443
  const complexType = unit ? "sap.ui.model.odata.type.Unit" : "sap.ui.model.odata.type.Currency";
435
- unit = unit ? unit : (oPropertyDefinition.annotations?.Measures?.ISOCurrency as any);
444
+ unit = unit ? unit : (oPropertyDefinition.annotations?.Measures?.ISOCurrency as unknown as Unit | undefined);
436
445
  const unitBindingExpression =
437
446
  isPathAnnotationExpression(unit) && unit.$target
438
447
  ? formatWithTypeInformation(unit.$target, getExpressionFromAnnotation(unit, relativeLocation), ignoreUnitConstraint)
@@ -442,9 +451,12 @@ export const getBindingWithUnitOrCurrency = function (
442
451
  };
443
452
 
444
453
  export const getBindingForUnitOrCurrency = function (
445
- oPropertyDataModelPath: DataModelObjectPath
454
+ oPropertyDataModelPath: DataModelObjectPath<Property> | undefined
446
455
  ): BindingToolkitExpression<string> | string {
447
- const oPropertyDefinition = oPropertyDataModelPath.targetObject as Property;
456
+ const oPropertyDefinition = oPropertyDataModelPath?.targetObject;
457
+ if (!oPropertyDefinition) {
458
+ return "";
459
+ }
448
460
 
449
461
  let unit = oPropertyDefinition.annotations?.Measures?.Unit;
450
462
  if (hasStaticPercentUnit(oPropertyDefinition)) {
@@ -453,7 +465,7 @@ export const getBindingForUnitOrCurrency = function (
453
465
  const relativeLocation = getRelativePaths(oPropertyDataModelPath);
454
466
 
455
467
  const complexType = unit ? "sap.ui.model.odata.type.Unit" : "sap.ui.model.odata.type.Currency";
456
- unit = unit ? unit : (oPropertyDefinition.annotations?.Measures?.ISOCurrency as any);
468
+ unit = unit ? unit : (oPropertyDefinition.annotations?.Measures?.ISOCurrency as unknown as Unit | undefined);
457
469
  const unitBindingExpression =
458
470
  isPathAnnotationExpression(unit) && unit.$target
459
471
  ? formatWithTypeInformation(unit.$target, getExpressionFromAnnotation(unit, relativeLocation))
@@ -469,7 +481,7 @@ export const getBindingForUnitOrCurrency = function (
469
481
  });
470
482
  };
471
483
  export const getBindingWithTimezone = function (
472
- oPropertyDataModelPath: DataModelObjectPath,
484
+ oPropertyDataModelPath: DataModelObjectPath<Property>,
473
485
  propertyBindingExpression: BindingToolkitExpression<string>,
474
486
  ignoreUnitConstraint = false,
475
487
  hideTimezoneForEmptyValues = false,
@@ -481,13 +493,14 @@ export const getBindingWithTimezone = function (
481
493
  propertyBindingExpression = formatWithTypeInformation(oPropertyDefinition, propertyBindingExpression);
482
494
 
483
495
  const complexType = "sap.fe.core.type.DateTimeWithTimezone";
484
- const unitBindingExpression = (timezone as any).$target
485
- ? formatWithTypeInformation(
486
- (timezone as PathAnnotationExpression<unknown>).$target as Property,
487
- getExpressionFromAnnotation(timezone, relativeLocation),
488
- ignoreUnitConstraint
489
- )
490
- : getExpressionFromAnnotation(timezone, relativeLocation);
496
+ const unitBindingExpression =
497
+ isPathAnnotationExpression(timezone) && timezone.$target
498
+ ? formatWithTypeInformation(
499
+ (timezone as PathAnnotationExpression<unknown>).$target as Property,
500
+ getExpressionFromAnnotation(timezone, relativeLocation),
501
+ ignoreUnitConstraint
502
+ )
503
+ : getExpressionFromAnnotation(timezone, relativeLocation);
491
504
  let formatOptions = {};
492
505
  if (hideTimezoneForEmptyValues) {
493
506
  formatOptions = {
@@ -509,7 +522,7 @@ export const getBindingWithTimezone = function (
509
522
  };
510
523
 
511
524
  export const getBindingForTimezone = function (
512
- propertyDataModelPath: DataModelObjectPath,
525
+ propertyDataModelPath: DataModelObjectPath<Property>,
513
526
  propertyBindingExpression: BindingToolkitExpression<string>
514
527
  ): BindingToolkitExpression<string> {
515
528
  const propertyDefinition = propertyDataModelPath.targetObject as Property;
@@ -552,10 +565,10 @@ getConverterContext.requiresIContext = true;
552
565
  * @param oInterface The current templating context
553
566
  * @returns An array of entitysets and navproperties that are involved to get to a specific object in the metamodel
554
567
  */
555
- export const getDataModelObjectPath = function (
568
+ export const getDataModelObjectPath = function <T>(
556
569
  oContext: MetaModelContext,
557
570
  oInterface: ComputedAnnotationInterface
558
- ): DataModelObjectPath | null {
571
+ ): DataModelObjectPath<T> | null {
559
572
  if (oInterface && oInterface.context) {
560
573
  return getInvolvedDataModelObjects(oInterface.context);
561
574
  }
@@ -569,7 +582,7 @@ getDataModelObjectPath.requiresIContext = true;
569
582
  * @param oDataModelPath The data model path to check
570
583
  * @returns True if the property is part of a 1..n navigation
571
584
  */
572
- export const isMultiValueField = function (oDataModelPath: DataModelObjectPath): boolean {
585
+ export const isMultiValueField = function (oDataModelPath: DataModelObjectPath<unknown>): boolean {
573
586
  if (oDataModelPath.navigationProperties?.length) {
574
587
  const hasOneToManyNavigation =
575
588
  oDataModelPath?.navigationProperties.findIndex((oNav) => {
@@ -594,18 +607,21 @@ export const isMultiValueField = function (oDataModelPath: DataModelObjectPath):
594
607
  };
595
608
  export const getRequiredExpressionAsObject = function (
596
609
  oPropertyPath: PropertyOrPath<Property>,
597
- oDataFieldConverted?: any,
610
+ oDataFieldConverted?: DataFieldAbstractTypes,
598
611
  forceEditMode = false
599
612
  ): BindingToolkitExpression<boolean> {
600
613
  return getRequiredExpression(oPropertyPath, oDataFieldConverted, forceEditMode, true) as BindingToolkitExpression<boolean>;
601
614
  };
602
615
  export const getRequiredExpression = function (
603
616
  oPropertyPath: PropertyOrPath<Property>,
604
- oDataFieldConverted?: any,
617
+ oDataFieldConverted?: DataFieldAbstractTypes | DataPointTypeTypes,
605
618
  forceEditMode = false,
606
619
  bAsObject = false,
607
- oRequiredProperties: any = {},
608
- dataModelObjectPath?: DataModelObjectPath
620
+ oRequiredProperties: {
621
+ requiredPropertiesFromInsertRestrictions?: unknown[];
622
+ requiredPropertiesFromUpdateRestrictions?: unknown[];
623
+ } = {},
624
+ dataModelObjectPath?: DataModelObjectPath<unknown>
609
625
  ): CompiledBindingToolkitExpression | BindingToolkitExpression<boolean> {
610
626
  const aRequiredPropertiesFromInsertRestrictions = oRequiredProperties.requiredPropertiesFromInsertRestrictions;
611
627
  const aRequiredPropertiesFromUpdateRestrictions = oRequiredProperties.requiredPropertiesFromUpdateRestrictions;
@@ -620,7 +636,7 @@ export const getRequiredExpression = function (
620
636
  relativePath = getRelativePaths(dataModelObjectPath);
621
637
  }
622
638
  let dataFieldRequiredExpression: BindingToolkitExpression<boolean> = constant(false);
623
- if (oDataFieldConverted !== null && oDataFieldConverted !== undefined) {
639
+ if (oDataFieldConverted !== undefined) {
624
640
  dataFieldRequiredExpression = isRequiredExpression(oDataFieldConverted);
625
641
  }
626
642
  let requiredPropertyFromInsertRestrictionsExpression: BindingToolkitExpression<boolean> = constant(false);
@@ -631,10 +647,10 @@ export const getRequiredExpression = function (
631
647
  // If the Field control is statically in Inapplicable (disabled) -> not enabled
632
648
  const requiredExpression = isRequiredExpression(oProperty, relativePath);
633
649
  const editMode = forceEditMode || UI.IsEditable;
634
- if (aRequiredPropertiesFromInsertRestrictions?.includes((oPropertyPath as any).name)) {
650
+ if (aRequiredPropertiesFromInsertRestrictions?.includes(oProperty.name)) {
635
651
  requiredPropertyFromInsertRestrictionsExpression = UI.IsCreateMode;
636
652
  }
637
- if (aRequiredPropertiesFromUpdateRestrictions?.includes((oPropertyPath as any).name)) {
653
+ if (aRequiredPropertiesFromUpdateRestrictions?.includes(oProperty.name)) {
638
654
  requiredPropertyFromUpdateRestrictionsExpression = and(UI.IsEditable, not(UI.IsCreateMode));
639
655
  }
640
656
  const returnExpression = or(
@@ -649,15 +665,18 @@ export const getRequiredExpression = function (
649
665
  };
650
666
 
651
667
  export const getRequiredExpressionForConnectedDataField = function (
652
- dataFieldObjectPath: DataModelObjectPath
668
+ dataFieldObjectPath: DataModelObjectPath<AnnotationPath<ConnectedFieldsType>>
653
669
  ): CompiledBindingToolkitExpression {
654
- const data = dataFieldObjectPath?.targetObject?.$target?.Data;
670
+ const data: Record<string, DataFieldAbstractTypes> = (dataFieldObjectPath?.targetObject?.$target?.Data ?? {}) as Record<
671
+ string,
672
+ DataFieldAbstractTypes
673
+ >;
655
674
  const keys: Array<string> = Object.keys(data);
656
675
  const dataFields = [];
657
676
  let propertyPath;
658
677
  const isRequiredExpressions: (CompiledBindingToolkitExpression | BindingToolkitExpression<boolean>)[] | undefined = [];
659
678
  for (const key of keys) {
660
- if (data[key]?.["$Type"] && data[key]["$Type"].indexOf("DataField") > -1) {
679
+ if (data[key]?.["$Type"] && data[key]["$Type"]?.includes("DataField")) {
661
680
  dataFields.push(data[key]);
662
681
  }
663
682
  }
@@ -673,10 +692,12 @@ export const getRequiredExpressionForConnectedDataField = function (
673
692
  }
674
693
  break;
675
694
  case UIAnnotationTypes.DataFieldForAnnotation:
676
- if (dataField.Target.$target) {
695
+ if (dataField.Target?.$target) {
677
696
  if (
678
- dataField.Target.$target.$Type === UIAnnotationTypes.DataField ||
679
- dataField.Target.$target.$Type === UIAnnotationTypes.DataPointType
697
+ isAnnotationOfType<DataField | DataPointType>(dataField.Target.$target, [
698
+ UIAnnotationTypes.DataField,
699
+ UIAnnotationTypes.DataPointType
700
+ ])
680
701
  ) {
681
702
  if (typeof dataField.Target.$target.Value === "object") {
682
703
  propertyPath = dataField.Target.$target.Value.$target;
@@ -703,7 +724,14 @@ export const getRequiredExpressionForConnectedDataField = function (
703
724
  * @returns BindingToolkitExpression<boolean>
704
725
  */
705
726
  export function isVisible(
706
- targetObject: DataFieldAbstractTypes | DataPointTypeTypes | ReferenceFacet | CollectionFacet | DataFieldForActionTypes | undefined
727
+ targetObject:
728
+ | DataFieldAbstractTypes
729
+ | DataPointTypeTypes
730
+ | ReferenceFacet
731
+ | CollectionFacet
732
+ | DataFieldForActionTypes
733
+ | Property
734
+ | undefined
707
735
  ): BindingToolkitExpression<boolean> {
708
736
  return not(equal(getExpressionFromAnnotation(targetObject?.annotations?.UI?.Hidden), true));
709
737
  }
@@ -714,7 +742,7 @@ export function isVisible(
714
742
  * @param dataModelObjectPath Object path to the action parameter.
715
743
  * @returns Boolean
716
744
  */
717
- export const isMultiLine = function (dataModelObjectPath: DataModelObjectPath): boolean {
745
+ export const isMultiLine = function (dataModelObjectPath: DataModelObjectPath<ActionParameter>): boolean {
718
746
  return isMultiLineText(dataModelObjectPath.targetObject);
719
747
  };
720
748
 
@@ -729,7 +757,7 @@ export const isMultiLine = function (dataModelObjectPath: DataModelObjectPath):
729
757
  export function getActionEnabledExpression(
730
758
  actionTarget: Action,
731
759
  convertedTypes: ConvertedMetadata,
732
- dataModelObjectPath?: DataModelObjectPath,
760
+ dataModelObjectPath?: DataModelObjectPath<PageContextPathTarget>,
733
761
  pathFromContextLocation?: boolean
734
762
  ): BindingToolkitExpression<boolean> {
735
763
  const operationAvailableIsAnnotated =
@@ -32,4 +32,4 @@ sap.ui.define(["sap/fe/core/helpers/ClassSupport", "sap/ui/model/odata/type/Date
32
32
  }(_DateTimeWithTimezone)) || _class);
33
33
  return DateTimeWithTimezone;
34
34
  }, false);
35
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJEYXRlVGltZVdpdGhUaW1lem9uZSIsImRlZmluZVVJNUNsYXNzIiwib0Zvcm1hdE9wdGlvbnMiLCJvQ29uc3RyYWludHMiLCJiU2hvd1RpbWV6b25lRm9yRW1wdHlWYWx1ZXMiLCJzaG93VGltZXpvbmVGb3JFbXB0eVZhbHVlcyIsImZvcm1hdFZhbHVlIiwiYVZhbHVlcyIsInNUYXJnZXRUeXBlIiwib1RpbWVzdGFtcCIsInVuZGVmaW5lZCIsIl9EYXRlVGltZVdpdGhUaW1lem9uZSJdLCJzb3VyY2VSb290IjoiLiIsInNvdXJjZXMiOlsiRGF0ZVRpbWVXaXRoVGltZXpvbmUudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgZGVmaW5lVUk1Q2xhc3MgfSBmcm9tIFwic2FwL2ZlL2NvcmUvaGVscGVycy9DbGFzc1N1cHBvcnRcIjtcbmltcG9ydCBfRGF0ZVRpbWVXaXRoVGltZXpvbmUgZnJvbSBcInNhcC91aS9tb2RlbC9vZGF0YS90eXBlL0RhdGVUaW1lV2l0aFRpbWV6b25lXCI7XG5cbkBkZWZpbmVVSTVDbGFzcyhcInNhcC5mZS5jb3JlLnR5cGUuRGF0ZVRpbWVXaXRoVGltZXpvbmVcIilcbmNsYXNzIERhdGVUaW1lV2l0aFRpbWV6b25lIGV4dGVuZHMgX0RhdGVUaW1lV2l0aFRpbWV6b25lIHtcblx0cHJpdmF0ZSBiU2hvd1RpbWV6b25lRm9yRW1wdHlWYWx1ZXM6IGJvb2xlYW47XG5cblx0Y29uc3RydWN0b3Iob0Zvcm1hdE9wdGlvbnM/OiBhbnksIG9Db25zdHJhaW50cz86IGFueSkge1xuXHRcdHN1cGVyKG9Gb3JtYXRPcHRpb25zLCBvQ29uc3RyYWludHMpO1xuXHRcdHRoaXMuYlNob3dUaW1lem9uZUZvckVtcHR5VmFsdWVzID0gb0Zvcm1hdE9wdGlvbnM/LnNob3dUaW1lem9uZUZvckVtcHR5VmFsdWVzID8/IHRydWU7XG5cdH1cblxuXHRmb3JtYXRWYWx1ZShhVmFsdWVzOiBhbnlbXSwgc1RhcmdldFR5cGU6IHN0cmluZykge1xuXHRcdGNvbnN0IG9UaW1lc3RhbXAgPSBhVmFsdWVzICYmIGFWYWx1ZXNbMF07XG5cdFx0aWYgKFxuXHRcdFx0b1RpbWVzdGFtcCA9PT0gdW5kZWZpbmVkIHx8IC8vIGRhdGEgaXMgbm90IHlldCBhdmFpbGFibGVcblx0XHRcdC8vIGlmIHRpbWUgem9uZSBpcyBub3Qgc2hvd24gZmFsc3kgdGltZXN0YW1wcyBjYW5ub3QgYmUgZm9ybWF0dGVkIC0+IHJldHVybiBudWxsXG5cdFx0XHQoIW9UaW1lc3RhbXAgJiYgIXRoaXMuYlNob3dUaW1lem9uZUZvckVtcHR5VmFsdWVzKVxuXHRcdCkge1xuXHRcdFx0cmV0dXJuIG51bGw7XG5cdFx0fVxuXHRcdHJldHVybiBzdXBlci5mb3JtYXRWYWx1ZShhVmFsdWVzLCBzVGFyZ2V0VHlwZSk7XG5cdH1cbn1cbmV4cG9ydCBkZWZhdWx0IERhdGVUaW1lV2l0aFRpbWV6b25lO1xuIl0sIm1hcHBpbmdzIjoiO0FBQUE7QUFBQTtBQUFBOzs7Ozs7OztNQUlNQSxvQkFBb0IsV0FEekJDLGNBQWMsQ0FBQyx1Q0FBdUMsQ0FBQztJQUFBO0lBSXZELDhCQUFZQyxjQUFvQixFQUFFQyxZQUFrQixFQUFFO01BQUE7TUFDckQsMENBQU1ELGNBQWMsRUFBRUMsWUFBWSxDQUFDO01BQ25DLE1BQUtDLDJCQUEyQixHQUFHLENBQUFGLGNBQWMsYUFBZEEsY0FBYyx1QkFBZEEsY0FBYyxDQUFFRywwQkFBMEIsS0FBSSxJQUFJO01BQUM7SUFDdkY7SUFBQztJQUFBLE9BRURDLFdBQVcsR0FBWCxxQkFBWUMsT0FBYyxFQUFFQyxXQUFtQixFQUFFO01BQ2hELE1BQU1DLFVBQVUsR0FBR0YsT0FBTyxJQUFJQSxPQUFPLENBQUMsQ0FBQyxDQUFDO01BQ3hDLElBQ0NFLFVBQVUsS0FBS0MsU0FBUztNQUFJO01BQzVCO01BQ0MsQ0FBQ0QsVUFBVSxJQUFJLENBQUMsSUFBSSxDQUFDTCwyQkFBNEIsRUFDakQ7UUFDRCxPQUFPLElBQUk7TUFDWjtNQUNBLHdDQUFhRSxXQUFXLFlBQUNDLE9BQU8sRUFBRUMsV0FBVztJQUM5QyxDQUFDO0lBQUE7RUFBQSxFQWxCaUNHLHFCQUFxQjtFQUFBLE9Bb0J6Q1gsb0JBQW9CO0FBQUEifQ==
35
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJEYXRlVGltZVdpdGhUaW1lem9uZSIsImRlZmluZVVJNUNsYXNzIiwib0Zvcm1hdE9wdGlvbnMiLCJvQ29uc3RyYWludHMiLCJiU2hvd1RpbWV6b25lRm9yRW1wdHlWYWx1ZXMiLCJzaG93VGltZXpvbmVGb3JFbXB0eVZhbHVlcyIsImZvcm1hdFZhbHVlIiwiYVZhbHVlcyIsInNUYXJnZXRUeXBlIiwib1RpbWVzdGFtcCIsInVuZGVmaW5lZCIsIl9EYXRlVGltZVdpdGhUaW1lem9uZSJdLCJzb3VyY2VSb290IjoiLiIsInNvdXJjZXMiOlsiRGF0ZVRpbWVXaXRoVGltZXpvbmUudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgZGVmaW5lVUk1Q2xhc3MgfSBmcm9tIFwic2FwL2ZlL2NvcmUvaGVscGVycy9DbGFzc1N1cHBvcnRcIjtcbmltcG9ydCBfRGF0ZVRpbWVXaXRoVGltZXpvbmUgZnJvbSBcInNhcC91aS9tb2RlbC9vZGF0YS90eXBlL0RhdGVUaW1lV2l0aFRpbWV6b25lXCI7XG5cbkBkZWZpbmVVSTVDbGFzcyhcInNhcC5mZS5jb3JlLnR5cGUuRGF0ZVRpbWVXaXRoVGltZXpvbmVcIilcbmNsYXNzIERhdGVUaW1lV2l0aFRpbWV6b25lIGV4dGVuZHMgX0RhdGVUaW1lV2l0aFRpbWV6b25lIHtcblx0cHJpdmF0ZSBiU2hvd1RpbWV6b25lRm9yRW1wdHlWYWx1ZXM6IGJvb2xlYW47XG5cblx0Y29uc3RydWN0b3Iob0Zvcm1hdE9wdGlvbnM/OiBvYmplY3QgJiB7IHNob3dUaW1lem9uZUZvckVtcHR5VmFsdWVzPzogYm9vbGVhbiB9LCBvQ29uc3RyYWludHM/OiBvYmplY3QpIHtcblx0XHRzdXBlcihvRm9ybWF0T3B0aW9ucywgb0NvbnN0cmFpbnRzKTtcblx0XHR0aGlzLmJTaG93VGltZXpvbmVGb3JFbXB0eVZhbHVlcyA9IG9Gb3JtYXRPcHRpb25zPy5zaG93VGltZXpvbmVGb3JFbXB0eVZhbHVlcyA/PyB0cnVlO1xuXHR9XG5cblx0Zm9ybWF0VmFsdWUoYVZhbHVlczogdW5rbm93bltdLCBzVGFyZ2V0VHlwZTogc3RyaW5nKTogdW5rbm93biB8IG51bGwge1xuXHRcdGNvbnN0IG9UaW1lc3RhbXAgPSBhVmFsdWVzICYmIGFWYWx1ZXNbMF07XG5cdFx0aWYgKFxuXHRcdFx0b1RpbWVzdGFtcCA9PT0gdW5kZWZpbmVkIHx8IC8vIGRhdGEgaXMgbm90IHlldCBhdmFpbGFibGVcblx0XHRcdC8vIGlmIHRpbWUgem9uZSBpcyBub3Qgc2hvd24gZmFsc3kgdGltZXN0YW1wcyBjYW5ub3QgYmUgZm9ybWF0dGVkIC0+IHJldHVybiBudWxsXG5cdFx0XHQoIW9UaW1lc3RhbXAgJiYgIXRoaXMuYlNob3dUaW1lem9uZUZvckVtcHR5VmFsdWVzKVxuXHRcdCkge1xuXHRcdFx0cmV0dXJuIG51bGw7XG5cdFx0fVxuXHRcdHJldHVybiBzdXBlci5mb3JtYXRWYWx1ZShhVmFsdWVzLCBzVGFyZ2V0VHlwZSk7XG5cdH1cbn1cbmV4cG9ydCBkZWZhdWx0IERhdGVUaW1lV2l0aFRpbWV6b25lO1xuIl0sIm1hcHBpbmdzIjoiO0FBQUE7QUFBQTtBQUFBOzs7Ozs7OztNQUlNQSxvQkFBb0IsV0FEekJDLGNBQWMsQ0FBQyx1Q0FBdUMsQ0FBQztJQUFBO0lBSXZELDhCQUFZQyxjQUFrRSxFQUFFQyxZQUFxQixFQUFFO01BQUE7TUFDdEcsMENBQU1ELGNBQWMsRUFBRUMsWUFBWSxDQUFDO01BQ25DLE1BQUtDLDJCQUEyQixHQUFHLENBQUFGLGNBQWMsYUFBZEEsY0FBYyx1QkFBZEEsY0FBYyxDQUFFRywwQkFBMEIsS0FBSSxJQUFJO01BQUM7SUFDdkY7SUFBQztJQUFBLE9BRURDLFdBQVcsR0FBWCxxQkFBWUMsT0FBa0IsRUFBRUMsV0FBbUIsRUFBa0I7TUFDcEUsTUFBTUMsVUFBVSxHQUFHRixPQUFPLElBQUlBLE9BQU8sQ0FBQyxDQUFDLENBQUM7TUFDeEMsSUFDQ0UsVUFBVSxLQUFLQyxTQUFTO01BQUk7TUFDNUI7TUFDQyxDQUFDRCxVQUFVLElBQUksQ0FBQyxJQUFJLENBQUNMLDJCQUE0QixFQUNqRDtRQUNELE9BQU8sSUFBSTtNQUNaO01BQ0Esd0NBQWFFLFdBQVcsWUFBQ0MsT0FBTyxFQUFFQyxXQUFXO0lBQzlDLENBQUM7SUFBQTtFQUFBLEVBbEJpQ0cscUJBQXFCO0VBQUEsT0FvQnpDWCxvQkFBb0I7QUFBQSJ9
@@ -5,12 +5,12 @@ import _DateTimeWithTimezone from "sap/ui/model/odata/type/DateTimeWithTimezone"
5
5
  class DateTimeWithTimezone extends _DateTimeWithTimezone {
6
6
  private bShowTimezoneForEmptyValues: boolean;
7
7
 
8
- constructor(oFormatOptions?: any, oConstraints?: any) {
8
+ constructor(oFormatOptions?: object & { showTimezoneForEmptyValues?: boolean }, oConstraints?: object) {
9
9
  super(oFormatOptions, oConstraints);
10
10
  this.bShowTimezoneForEmptyValues = oFormatOptions?.showTimezoneForEmptyValues ?? true;
11
11
  }
12
12
 
13
- formatValue(aValues: any[], sTargetType: string) {
13
+ formatValue(aValues: unknown[], sTargetType: string): unknown | null {
14
14
  const oTimestamp = aValues && aValues[0];
15
15
  if (
16
16
  oTimestamp === undefined || // data is not yet available
@@ -81,4 +81,4 @@ sap.ui.define([], function () {
81
81
  _exports.getModelType = getModelType;
82
82
  return _exports;
83
83
  }, false);
84
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJEZWZhdWx0VHlwZUZvckVkbVR5cGUiLCJtb2RlbFR5cGUiLCJ1bmRlZmluZWQiLCJpc1R5cGVGaWx0ZXJhYmxlIiwiZWRtVHlwZSIsImdldE1vZGVsVHlwZSJdLCJzb3VyY2VSb290IjoiLiIsInNvdXJjZXMiOlsiRURNLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBjb25zdCBEZWZhdWx0VHlwZUZvckVkbVR5cGUgPSB7XG5cdFwiRWRtLkJpbmFyeVwiOiB7XG5cdFx0bW9kZWxUeXBlOiB1bmRlZmluZWRcblx0fSxcblx0XCJFZG0uQm9vbGVhblwiOiB7XG5cdFx0bW9kZWxUeXBlOiBcIkJvb2xcIlxuXHR9LFxuXHRcIkVkbS5CeXRlXCI6IHtcblx0XHRtb2RlbFR5cGU6IFwiSW50XCJcblx0fSxcblx0XCJFZG0uRGF0ZVwiOiB7XG5cdFx0bW9kZWxUeXBlOiBcIkRhdGVcIlxuXHR9LFxuXHRcIkVkbS5EYXRlVGltZVwiOiB7XG5cdFx0bW9kZWxUeXBlOiBcIkRhdGVcIlxuXHR9LFxuXHRcIkVkbS5EYXRlVGltZU9mZnNldFwiOiB7XG5cdFx0bW9kZWxUeXBlOiBcIkRhdGVUaW1lT2Zmc2V0XCJcblx0fSxcblx0XCJFZG0uRGVjaW1hbFwiOiB7XG5cdFx0bW9kZWxUeXBlOiBcIkRlY2ltYWxcIlxuXHR9LFxuXHRcIkVkbS5EdXJhdGlvblwiOiB7XG5cdFx0bW9kZWxUeXBlOiB1bmRlZmluZWRcblx0fSxcblx0XCJFZG0uRG91YmxlXCI6IHtcblx0XHRtb2RlbFR5cGU6IFwiRmxvYXRcIlxuXHR9LFxuXHRcIkVkbS5GbG9hdFwiOiB7XG5cdFx0bW9kZWxUeXBlOiBcIkZsb2F0XCJcblx0fSxcblx0XCJFZG0uR3VpZFwiOiB7XG5cdFx0bW9kZWxUeXBlOiBcIkd1aWRcIlxuXHR9LFxuXHRcIkVkbS5JbnQxNlwiOiB7XG5cdFx0bW9kZWxUeXBlOiBcIkludFwiXG5cdH0sXG5cdFwiRWRtLkludDMyXCI6IHtcblx0XHRtb2RlbFR5cGU6IFwiSW50XCJcblx0fSxcblx0XCJFZG0uSW50NjRcIjoge1xuXHRcdG1vZGVsVHlwZTogXCJJbnRcIlxuXHR9LFxuXHRcIkVkbS5TQnl0ZVwiOiB7XG5cdFx0bW9kZWxUeXBlOiBcIkludFwiXG5cdH0sXG5cdFwiRWRtLlNpbmdsZVwiOiB7XG5cdFx0bW9kZWxUeXBlOiBcIkZsb2F0XCJcblx0fSxcblx0XCJFZG0uU3RyaW5nXCI6IHtcblx0XHRtb2RlbFR5cGU6IFwiU3RyaW5nXCJcblx0fSxcblx0XCJFZG0uVGltZVwiOiB7XG5cdFx0bW9kZWxUeXBlOiBcIlRpbWVPZkRheVwiXG5cdH0sXG5cdFwiRWRtLlRpbWVPZkRheVwiOiB7XG5cdFx0bW9kZWxUeXBlOiBcIlRpbWVPZkRheVwiXG5cdH0sXG5cdFwiRWRtLlN0cmVhbVwiOiB7XG5cdFx0bW9kZWxUeXBlOiB1bmRlZmluZWRcblx0fVxufTtcblxuZXhwb3J0IGZ1bmN0aW9uIGlzVHlwZUZpbHRlcmFibGUoZWRtVHlwZToga2V5b2YgdHlwZW9mIERlZmF1bHRUeXBlRm9yRWRtVHlwZSkge1xuXHRyZXR1cm4gISFEZWZhdWx0VHlwZUZvckVkbVR5cGVbZWRtVHlwZV0/Lm1vZGVsVHlwZTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGdldE1vZGVsVHlwZShlZG1UeXBlOiBrZXlvZiB0eXBlb2YgRGVmYXVsdFR5cGVGb3JFZG1UeXBlKSB7XG5cdHJldHVybiBEZWZhdWx0VHlwZUZvckVkbVR5cGVbZWRtVHlwZV0/Lm1vZGVsVHlwZTtcbn1cbiJdLCJtYXBwaW5ncyI6IjtBQUFBO0FBQUE7QUFBQTs7Ozs7RUFBTyxNQUFNQSxxQkFBcUIsR0FBRztJQUNwQyxZQUFZLEVBQUU7TUFDYkMsU0FBUyxFQUFFQztJQUNaLENBQUM7SUFDRCxhQUFhLEVBQUU7TUFDZEQsU0FBUyxFQUFFO0lBQ1osQ0FBQztJQUNELFVBQVUsRUFBRTtNQUNYQSxTQUFTLEVBQUU7SUFDWixDQUFDO0lBQ0QsVUFBVSxFQUFFO01BQ1hBLFNBQVMsRUFBRTtJQUNaLENBQUM7SUFDRCxjQUFjLEVBQUU7TUFDZkEsU0FBUyxFQUFFO0lBQ1osQ0FBQztJQUNELG9CQUFvQixFQUFFO01BQ3JCQSxTQUFTLEVBQUU7SUFDWixDQUFDO0lBQ0QsYUFBYSxFQUFFO01BQ2RBLFNBQVMsRUFBRTtJQUNaLENBQUM7SUFDRCxjQUFjLEVBQUU7TUFDZkEsU0FBUyxFQUFFQztJQUNaLENBQUM7SUFDRCxZQUFZLEVBQUU7TUFDYkQsU0FBUyxFQUFFO0lBQ1osQ0FBQztJQUNELFdBQVcsRUFBRTtNQUNaQSxTQUFTLEVBQUU7SUFDWixDQUFDO0lBQ0QsVUFBVSxFQUFFO01BQ1hBLFNBQVMsRUFBRTtJQUNaLENBQUM7SUFDRCxXQUFXLEVBQUU7TUFDWkEsU0FBUyxFQUFFO0lBQ1osQ0FBQztJQUNELFdBQVcsRUFBRTtNQUNaQSxTQUFTLEVBQUU7SUFDWixDQUFDO0lBQ0QsV0FBVyxFQUFFO01BQ1pBLFNBQVMsRUFBRTtJQUNaLENBQUM7SUFDRCxXQUFXLEVBQUU7TUFDWkEsU0FBUyxFQUFFO0lBQ1osQ0FBQztJQUNELFlBQVksRUFBRTtNQUNiQSxTQUFTLEVBQUU7SUFDWixDQUFDO0lBQ0QsWUFBWSxFQUFFO01BQ2JBLFNBQVMsRUFBRTtJQUNaLENBQUM7SUFDRCxVQUFVLEVBQUU7TUFDWEEsU0FBUyxFQUFFO0lBQ1osQ0FBQztJQUNELGVBQWUsRUFBRTtNQUNoQkEsU0FBUyxFQUFFO0lBQ1osQ0FBQztJQUNELFlBQVksRUFBRTtNQUNiQSxTQUFTLEVBQUVDO0lBQ1o7RUFDRCxDQUFDO0VBQUM7RUFFSyxTQUFTQyxnQkFBZ0IsQ0FBQ0MsT0FBMkMsRUFBRTtJQUFBO0lBQzdFLE9BQU8sQ0FBQywyQkFBQ0oscUJBQXFCLENBQUNJLE9BQU8sQ0FBQyxrREFBOUIsc0JBQWdDSCxTQUFTO0VBQ25EO0VBQUM7RUFFTSxTQUFTSSxZQUFZLENBQUNELE9BQTJDLEVBQUU7SUFBQTtJQUN6RSxpQ0FBT0oscUJBQXFCLENBQUNJLE9BQU8sQ0FBQywyREFBOUIsdUJBQWdDSCxTQUFTO0VBQ2pEO0VBQUM7RUFBQTtBQUFBIn0=
84
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJEZWZhdWx0VHlwZUZvckVkbVR5cGUiLCJtb2RlbFR5cGUiLCJ1bmRlZmluZWQiLCJpc1R5cGVGaWx0ZXJhYmxlIiwiZWRtVHlwZSIsImdldE1vZGVsVHlwZSJdLCJzb3VyY2VSb290IjoiLiIsInNvdXJjZXMiOlsiRURNLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBjb25zdCBEZWZhdWx0VHlwZUZvckVkbVR5cGUgPSB7XG5cdFwiRWRtLkJpbmFyeVwiOiB7XG5cdFx0bW9kZWxUeXBlOiB1bmRlZmluZWRcblx0fSxcblx0XCJFZG0uQm9vbGVhblwiOiB7XG5cdFx0bW9kZWxUeXBlOiBcIkJvb2xcIlxuXHR9LFxuXHRcIkVkbS5CeXRlXCI6IHtcblx0XHRtb2RlbFR5cGU6IFwiSW50XCJcblx0fSxcblx0XCJFZG0uRGF0ZVwiOiB7XG5cdFx0bW9kZWxUeXBlOiBcIkRhdGVcIlxuXHR9LFxuXHRcIkVkbS5EYXRlVGltZVwiOiB7XG5cdFx0bW9kZWxUeXBlOiBcIkRhdGVcIlxuXHR9LFxuXHRcIkVkbS5EYXRlVGltZU9mZnNldFwiOiB7XG5cdFx0bW9kZWxUeXBlOiBcIkRhdGVUaW1lT2Zmc2V0XCJcblx0fSxcblx0XCJFZG0uRGVjaW1hbFwiOiB7XG5cdFx0bW9kZWxUeXBlOiBcIkRlY2ltYWxcIlxuXHR9LFxuXHRcIkVkbS5EdXJhdGlvblwiOiB7XG5cdFx0bW9kZWxUeXBlOiB1bmRlZmluZWRcblx0fSxcblx0XCJFZG0uRG91YmxlXCI6IHtcblx0XHRtb2RlbFR5cGU6IFwiRmxvYXRcIlxuXHR9LFxuXHRcIkVkbS5GbG9hdFwiOiB7XG5cdFx0bW9kZWxUeXBlOiBcIkZsb2F0XCJcblx0fSxcblx0XCJFZG0uR3VpZFwiOiB7XG5cdFx0bW9kZWxUeXBlOiBcIkd1aWRcIlxuXHR9LFxuXHRcIkVkbS5JbnQxNlwiOiB7XG5cdFx0bW9kZWxUeXBlOiBcIkludFwiXG5cdH0sXG5cdFwiRWRtLkludDMyXCI6IHtcblx0XHRtb2RlbFR5cGU6IFwiSW50XCJcblx0fSxcblx0XCJFZG0uSW50NjRcIjoge1xuXHRcdG1vZGVsVHlwZTogXCJJbnRcIlxuXHR9LFxuXHRcIkVkbS5TQnl0ZVwiOiB7XG5cdFx0bW9kZWxUeXBlOiBcIkludFwiXG5cdH0sXG5cdFwiRWRtLlNpbmdsZVwiOiB7XG5cdFx0bW9kZWxUeXBlOiBcIkZsb2F0XCJcblx0fSxcblx0XCJFZG0uU3RyaW5nXCI6IHtcblx0XHRtb2RlbFR5cGU6IFwiU3RyaW5nXCJcblx0fSxcblx0XCJFZG0uVGltZVwiOiB7XG5cdFx0bW9kZWxUeXBlOiBcIlRpbWVPZkRheVwiXG5cdH0sXG5cdFwiRWRtLlRpbWVPZkRheVwiOiB7XG5cdFx0bW9kZWxUeXBlOiBcIlRpbWVPZkRheVwiXG5cdH0sXG5cdFwiRWRtLlN0cmVhbVwiOiB7XG5cdFx0bW9kZWxUeXBlOiB1bmRlZmluZWRcblx0fVxufTtcblxuZXhwb3J0IGZ1bmN0aW9uIGlzVHlwZUZpbHRlcmFibGUoZWRtVHlwZToga2V5b2YgdHlwZW9mIERlZmF1bHRUeXBlRm9yRWRtVHlwZSk6IGJvb2xlYW4ge1xuXHRyZXR1cm4gISFEZWZhdWx0VHlwZUZvckVkbVR5cGVbZWRtVHlwZV0/Lm1vZGVsVHlwZTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGdldE1vZGVsVHlwZShlZG1UeXBlOiBrZXlvZiB0eXBlb2YgRGVmYXVsdFR5cGVGb3JFZG1UeXBlKTogc3RyaW5nIHwgdW5kZWZpbmVkIHtcblx0cmV0dXJuIERlZmF1bHRUeXBlRm9yRWRtVHlwZVtlZG1UeXBlXT8ubW9kZWxUeXBlO1xufVxuIl0sIm1hcHBpbmdzIjoiO0FBQUE7QUFBQTtBQUFBOzs7OztFQUFPLE1BQU1BLHFCQUFxQixHQUFHO0lBQ3BDLFlBQVksRUFBRTtNQUNiQyxTQUFTLEVBQUVDO0lBQ1osQ0FBQztJQUNELGFBQWEsRUFBRTtNQUNkRCxTQUFTLEVBQUU7SUFDWixDQUFDO0lBQ0QsVUFBVSxFQUFFO01BQ1hBLFNBQVMsRUFBRTtJQUNaLENBQUM7SUFDRCxVQUFVLEVBQUU7TUFDWEEsU0FBUyxFQUFFO0lBQ1osQ0FBQztJQUNELGNBQWMsRUFBRTtNQUNmQSxTQUFTLEVBQUU7SUFDWixDQUFDO0lBQ0Qsb0JBQW9CLEVBQUU7TUFDckJBLFNBQVMsRUFBRTtJQUNaLENBQUM7SUFDRCxhQUFhLEVBQUU7TUFDZEEsU0FBUyxFQUFFO0lBQ1osQ0FBQztJQUNELGNBQWMsRUFBRTtNQUNmQSxTQUFTLEVBQUVDO0lBQ1osQ0FBQztJQUNELFlBQVksRUFBRTtNQUNiRCxTQUFTLEVBQUU7SUFDWixDQUFDO0lBQ0QsV0FBVyxFQUFFO01BQ1pBLFNBQVMsRUFBRTtJQUNaLENBQUM7SUFDRCxVQUFVLEVBQUU7TUFDWEEsU0FBUyxFQUFFO0lBQ1osQ0FBQztJQUNELFdBQVcsRUFBRTtNQUNaQSxTQUFTLEVBQUU7SUFDWixDQUFDO0lBQ0QsV0FBVyxFQUFFO01BQ1pBLFNBQVMsRUFBRTtJQUNaLENBQUM7SUFDRCxXQUFXLEVBQUU7TUFDWkEsU0FBUyxFQUFFO0lBQ1osQ0FBQztJQUNELFdBQVcsRUFBRTtNQUNaQSxTQUFTLEVBQUU7SUFDWixDQUFDO0lBQ0QsWUFBWSxFQUFFO01BQ2JBLFNBQVMsRUFBRTtJQUNaLENBQUM7SUFDRCxZQUFZLEVBQUU7TUFDYkEsU0FBUyxFQUFFO0lBQ1osQ0FBQztJQUNELFVBQVUsRUFBRTtNQUNYQSxTQUFTLEVBQUU7SUFDWixDQUFDO0lBQ0QsZUFBZSxFQUFFO01BQ2hCQSxTQUFTLEVBQUU7SUFDWixDQUFDO0lBQ0QsWUFBWSxFQUFFO01BQ2JBLFNBQVMsRUFBRUM7SUFDWjtFQUNELENBQUM7RUFBQztFQUVLLFNBQVNDLGdCQUFnQixDQUFDQyxPQUEyQyxFQUFXO0lBQUE7SUFDdEYsT0FBTyxDQUFDLDJCQUFDSixxQkFBcUIsQ0FBQ0ksT0FBTyxDQUFDLGtEQUE5QixzQkFBZ0NILFNBQVM7RUFDbkQ7RUFBQztFQUVNLFNBQVNJLFlBQVksQ0FBQ0QsT0FBMkMsRUFBc0I7SUFBQTtJQUM3RixpQ0FBT0oscUJBQXFCLENBQUNJLE9BQU8sQ0FBQywyREFBOUIsdUJBQWdDSCxTQUFTO0VBQ2pEO0VBQUM7RUFBQTtBQUFBIn0=
@@ -61,10 +61,10 @@ export const DefaultTypeForEdmType = {
61
61
  }
62
62
  };
63
63
 
64
- export function isTypeFilterable(edmType: keyof typeof DefaultTypeForEdmType) {
64
+ export function isTypeFilterable(edmType: keyof typeof DefaultTypeForEdmType): boolean {
65
65
  return !!DefaultTypeForEdmType[edmType]?.modelType;
66
66
  }
67
67
 
68
- export function getModelType(edmType: keyof typeof DefaultTypeForEdmType) {
68
+ export function getModelType(edmType: keyof typeof DefaultTypeForEdmType): string | undefined {
69
69
  return DefaultTypeForEdmType[edmType]?.modelType;
70
70
  }
@@ -26,4 +26,4 @@ sap.ui.define(["sap/fe/core/helpers/ClassSupport", "sap/ui/core/Lib", "sap/ui/mo
26
26
  }(ODataStringType)) || _class);
27
27
  return EmailType;
28
28
  }, false);
29
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJlbWFpbFczQ1JlZ2V4cCIsIkVtYWlsVHlwZSIsImRlZmluZVVJNUNsYXNzIiwidmFsaWRhdGVWYWx1ZSIsInNWYWx1ZSIsInRlc3QiLCJWYWxpZGF0ZUV4Y2VwdGlvbiIsIkxpYnJhcnkiLCJnZXRSZXNvdXJjZUJ1bmRsZUZvciIsImdldFRleHQiLCJPRGF0YVN0cmluZ1R5cGUiXSwic291cmNlUm9vdCI6Ii4iLCJzb3VyY2VzIjpbIkVtYWlsLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGRlZmluZVVJNUNsYXNzIH0gZnJvbSBcInNhcC9mZS9jb3JlL2hlbHBlcnMvQ2xhc3NTdXBwb3J0XCI7XG5pbXBvcnQgTGlicmFyeSBmcm9tIFwic2FwL3VpL2NvcmUvTGliXCI7XG5pbXBvcnQgT0RhdGFTdHJpbmdUeXBlIGZyb20gXCJzYXAvdWkvbW9kZWwvb2RhdGEvdHlwZS9TdHJpbmdcIjtcbmltcG9ydCBWYWxpZGF0ZUV4Y2VwdGlvbiBmcm9tIFwic2FwL3VpL21vZGVsL1ZhbGlkYXRlRXhjZXB0aW9uXCI7XG5cbmNvbnN0IGVtYWlsVzNDUmVnZXhwID0gL15bYS16QS1aMC05LiEjJCUm4oCZKisvPT9eX2B7fH1+LV0rQFthLXpBLVowLTktXSsoPzouW2EtekEtWjAtOS1dKykqJC87XG5AZGVmaW5lVUk1Q2xhc3MoXCJzYXAuZmUuY29yZS50eXBlLkVtYWlsXCIpXG5jbGFzcyBFbWFpbFR5cGUgZXh0ZW5kcyBPRGF0YVN0cmluZ1R5cGUge1xuXHR2YWxpZGF0ZVZhbHVlKHNWYWx1ZTogc3RyaW5nKSB7XG5cdFx0aWYgKHNWYWx1ZSAmJiAhZW1haWxXM0NSZWdleHAudGVzdChzVmFsdWUpKSB7XG5cdFx0XHR0aHJvdyBuZXcgVmFsaWRhdGVFeGNlcHRpb24oTGlicmFyeS5nZXRSZXNvdXJjZUJ1bmRsZUZvcihcInNhcC5mZS5jb3JlXCIpIS5nZXRUZXh0KFwiVF9FTUFJTFRZUEVfSU5WQUxJRF9WQUxVRVwiKSk7XG5cdFx0fVxuXHRcdHN1cGVyLnZhbGlkYXRlVmFsdWUoc1ZhbHVlKTtcblx0fVxufVxuZXhwb3J0IGRlZmF1bHQgRW1haWxUeXBlO1xuIl0sIm1hcHBpbmdzIjoiO0FBQUE7QUFBQTtBQUFBOzs7Ozs7OztFQUtBLE1BQU1BLGNBQWMsR0FBRyxxRUFBcUU7RUFBQyxJQUV2RkMsU0FBUyxXQURkQyxjQUFjLENBQUMsd0JBQXdCLENBQUM7SUFBQTtJQUFBO01BQUE7SUFBQTtJQUFBO0lBQUEsT0FFeENDLGFBQWEsR0FBYix1QkFBY0MsTUFBYyxFQUFFO01BQzdCLElBQUlBLE1BQU0sSUFBSSxDQUFDSixjQUFjLENBQUNLLElBQUksQ0FBQ0QsTUFBTSxDQUFDLEVBQUU7UUFDM0MsTUFBTSxJQUFJRSxpQkFBaUIsQ0FBQ0MsT0FBTyxDQUFDQyxvQkFBb0IsQ0FBQyxhQUFhLENBQUMsQ0FBRUMsT0FBTyxDQUFDLDJCQUEyQixDQUFDLENBQUM7TUFDL0c7TUFDQSwyQkFBTU4sYUFBYSxZQUFDQyxNQUFNO0lBQzNCLENBQUM7SUFBQTtFQUFBLEVBTnNCTSxlQUFlO0VBQUEsT0FReEJULFNBQVM7QUFBQSJ9
29
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJlbWFpbFczQ1JlZ2V4cCIsIkVtYWlsVHlwZSIsImRlZmluZVVJNUNsYXNzIiwidmFsaWRhdGVWYWx1ZSIsInNWYWx1ZSIsInRlc3QiLCJWYWxpZGF0ZUV4Y2VwdGlvbiIsIkxpYnJhcnkiLCJnZXRSZXNvdXJjZUJ1bmRsZUZvciIsImdldFRleHQiLCJPRGF0YVN0cmluZ1R5cGUiXSwic291cmNlUm9vdCI6Ii4iLCJzb3VyY2VzIjpbIkVtYWlsLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGRlZmluZVVJNUNsYXNzIH0gZnJvbSBcInNhcC9mZS9jb3JlL2hlbHBlcnMvQ2xhc3NTdXBwb3J0XCI7XG5pbXBvcnQgTGlicmFyeSBmcm9tIFwic2FwL3VpL2NvcmUvTGliXCI7XG5pbXBvcnQgT0RhdGFTdHJpbmdUeXBlIGZyb20gXCJzYXAvdWkvbW9kZWwvb2RhdGEvdHlwZS9TdHJpbmdcIjtcbmltcG9ydCBWYWxpZGF0ZUV4Y2VwdGlvbiBmcm9tIFwic2FwL3VpL21vZGVsL1ZhbGlkYXRlRXhjZXB0aW9uXCI7XG5cbmNvbnN0IGVtYWlsVzNDUmVnZXhwID0gL15bYS16QS1aMC05LiEjJCUm4oCZKisvPT9eX2B7fH1+LV0rQFthLXpBLVowLTktXSsoPzouW2EtekEtWjAtOS1dKykqJC87XG5AZGVmaW5lVUk1Q2xhc3MoXCJzYXAuZmUuY29yZS50eXBlLkVtYWlsXCIpXG5jbGFzcyBFbWFpbFR5cGUgZXh0ZW5kcyBPRGF0YVN0cmluZ1R5cGUge1xuXHR2YWxpZGF0ZVZhbHVlKHNWYWx1ZTogc3RyaW5nKTogdm9pZCB7XG5cdFx0aWYgKHNWYWx1ZSAmJiAhZW1haWxXM0NSZWdleHAudGVzdChzVmFsdWUpKSB7XG5cdFx0XHR0aHJvdyBuZXcgVmFsaWRhdGVFeGNlcHRpb24oTGlicmFyeS5nZXRSZXNvdXJjZUJ1bmRsZUZvcihcInNhcC5mZS5jb3JlXCIpIS5nZXRUZXh0KFwiVF9FTUFJTFRZUEVfSU5WQUxJRF9WQUxVRVwiKSk7XG5cdFx0fVxuXHRcdHN1cGVyLnZhbGlkYXRlVmFsdWUoc1ZhbHVlKTtcblx0fVxufVxuZXhwb3J0IGRlZmF1bHQgRW1haWxUeXBlO1xuIl0sIm1hcHBpbmdzIjoiO0FBQUE7QUFBQTtBQUFBOzs7Ozs7OztFQUtBLE1BQU1BLGNBQWMsR0FBRyxxRUFBcUU7RUFBQyxJQUV2RkMsU0FBUyxXQURkQyxjQUFjLENBQUMsd0JBQXdCLENBQUM7SUFBQTtJQUFBO01BQUE7SUFBQTtJQUFBO0lBQUEsT0FFeENDLGFBQWEsR0FBYix1QkFBY0MsTUFBYyxFQUFRO01BQ25DLElBQUlBLE1BQU0sSUFBSSxDQUFDSixjQUFjLENBQUNLLElBQUksQ0FBQ0QsTUFBTSxDQUFDLEVBQUU7UUFDM0MsTUFBTSxJQUFJRSxpQkFBaUIsQ0FBQ0MsT0FBTyxDQUFDQyxvQkFBb0IsQ0FBQyxhQUFhLENBQUMsQ0FBRUMsT0FBTyxDQUFDLDJCQUEyQixDQUFDLENBQUM7TUFDL0c7TUFDQSwyQkFBTU4sYUFBYSxZQUFDQyxNQUFNO0lBQzNCLENBQUM7SUFBQTtFQUFBLEVBTnNCTSxlQUFlO0VBQUEsT0FReEJULFNBQVM7QUFBQSJ9
@@ -6,7 +6,7 @@ import ValidateException from "sap/ui/model/ValidateException";
6
6
  const emailW3CRegexp = /^[a-zA-Z0-9.!#$%&’*+/=?^_`{|}~-]+@[a-zA-Z0-9-]+(?:.[a-zA-Z0-9-]+)*$/;
7
7
  @defineUI5Class("sap.fe.core.type.Email")
8
8
  class EmailType extends ODataStringType {
9
- validateValue(sValue: string) {
9
+ validateValue(sValue: string): void {
10
10
  if (sValue && !emailW3CRegexp.test(sValue)) {
11
11
  throw new ValidateException(Library.getResourceBundleFor("sap.fe.core")!.getText("T_EMAILTYPE_INVALID_VALUE"));
12
12
  }
@@ -2,7 +2,7 @@
2
2
  * SAP UI development toolkit for HTML5 (SAPUI5)
3
3
  * (c) Copyright 2009-2024 SAP SE. All rights reserved
4
4
  */
5
- sap.ui.define(["sap/fe/core/formatters/FiscalFormat", "sap/fe/core/helpers/ClassSupport", "sap/ui/core/CalendarType", "sap/ui/core/Lib", "sap/ui/model/odata/type/String", "sap/ui/model/ValidateException"], function (FiscalFormat, ClassSupport, CalendarType, Library, ODataStringType, ValidateException) {
5
+ sap.ui.define(["sap/base/i18n/date/CalendarType", "sap/fe/core/formatters/FiscalFormat", "sap/fe/core/helpers/ClassSupport", "sap/ui/core/Lib", "sap/ui/model/ValidateException", "sap/ui/model/odata/type/String"], function (CalendarType, FiscalFormat, ClassSupport, Library, ValidateException, ODataStringType) {
6
6
  "use strict";
7
7
 
8
8
  var _dec, _class, _class2;
@@ -174,4 +174,4 @@ sap.ui.define(["sap/fe/core/formatters/FiscalFormat", "sap/fe/core/helpers/Class
174
174
  }, _class2)) || _class);
175
175
  return FiscalDate;
176
176
  }, false);
177
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJGaXNjYWxEYXRlIiwiZGVmaW5lVUk1Q2xhc3MiLCJmb3JtYXRPcHRpb25zIiwiY29uc3RyYWludHMiLCJmaXNjYWxUeXBlIiwibWF4TGVuZ3RoIiwiYW5ub3RhdGlvblR5cGUiLCJmb3JtYXQiLCJkYXRlRm9ybWF0cyIsImZvcm1hdHRlciIsIkZpc2NhbEZvcm1hdCIsImdldERhdGVJbnN0YW5jZSIsImNhbGVuZGFyVHlwZSIsIkNhbGVuZGFyVHlwZSIsIkdyZWdvcmlhbiIsImdldFBhdHRlcm4iLCJmb3JtYXRWYWx1ZSIsInZhbHVlIiwidGFyZ2V0VHlwZSIsInBhcnNlVmFsdWUiLCJzb3VyY2VUeXBlIiwicGFyc2UiLCJ2YWxpZGF0ZVZhbHVlIiwiZXJyb3IiLCJ2YWxpZGF0ZSIsIlZhbGlkYXRlRXhjZXB0aW9uIiwiZ2V0RXJyb3JNZXNzYWdlIiwic1ZhbHVlIiwiZnVsbFllYXIiLCJEYXRlIiwiZ2V0RnVsbFllYXIiLCJ0b1N0cmluZyIsIkxpYnJhcnkiLCJnZXRSZXNvdXJjZUJ1bmRsZUZvciIsImdldFRleHQiLCJnZXROYW1lIiwiZ2V0Rm9ybWF0dGVyIiwiT0RhdGFTdHJpbmdUeXBlIl0sInNvdXJjZVJvb3QiOiIuIiwic291cmNlcyI6WyJGaXNjYWxEYXRlLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbW1vbkFubm90YXRpb25UZXJtcyB9IGZyb20gXCJAc2FwLXV4L3ZvY2FidWxhcmllcy10eXBlcy92b2NhYnVsYXJpZXMvQ29tbW9uXCI7XG5pbXBvcnQgRmlzY2FsRm9ybWF0IGZyb20gXCJzYXAvZmUvY29yZS9mb3JtYXR0ZXJzL0Zpc2NhbEZvcm1hdFwiO1xuaW1wb3J0IHsgZGVmaW5lVUk1Q2xhc3MgfSBmcm9tIFwic2FwL2ZlL2NvcmUvaGVscGVycy9DbGFzc1N1cHBvcnRcIjtcbmltcG9ydCBDYWxlbmRhclR5cGUgZnJvbSBcInNhcC91aS9jb3JlL0NhbGVuZGFyVHlwZVwiO1xuaW1wb3J0IExpYnJhcnkgZnJvbSBcInNhcC91aS9jb3JlL0xpYlwiO1xuaW1wb3J0IE9EYXRhU3RyaW5nVHlwZSBmcm9tIFwic2FwL3VpL21vZGVsL29kYXRhL3R5cGUvU3RyaW5nXCI7XG5pbXBvcnQgVmFsaWRhdGVFeGNlcHRpb24gZnJvbSBcInNhcC91aS9tb2RlbC9WYWxpZGF0ZUV4Y2VwdGlvblwiO1xuXG4vKipcbiAqIERlZmluZSB0aGUgVUk1IGNsYXNzIGZvciBhIHR5cGUgb2YgZmlzY2FsIGRhdGUuXG4gKlxuICogVGhlIGRhdGEgdHlwZSBGaXNjYWwgRGF0ZSBzdXBwb3J0cyB0aGUgcGFyc2luZyBhbmQgZm9ybWF0dGluZyBvZiBmaXNjYWwgZGF0ZXMgdGhhdCBmb2xsb3cgdGhlIHBhdHRlcm4gJ3lNJy5cbiAqXG4gKiBAc2luY2UgMS4xMTAuMFxuICogQGV4cGVyaW1lbnRhbFxuICovXG5AZGVmaW5lVUk1Q2xhc3MoXCJzYXAuZmUuY29yZS50eXBlLkZpc2NhbERhdGVcIilcbmNsYXNzIEZpc2NhbERhdGUgZXh0ZW5kcyBPRGF0YVN0cmluZ1R5cGUge1xuXHRwcml2YXRlIGFubm90YXRpb25UeXBlOiBzdHJpbmcgfCB1bmRlZmluZWQ7XG5cblx0cHJpdmF0ZSBmdWxsWWVhcjogc3RyaW5nIHwgdW5kZWZpbmVkO1xuXG5cdHByaXZhdGUgc3RhdGljIGRhdGVGb3JtYXRzID0ge1xuXHRcdFtDb21tb25Bbm5vdGF0aW9uVGVybXMuSXNGaXNjYWxZZWFyXTogXCJZWVlZXCIsXG5cdFx0W0NvbW1vbkFubm90YXRpb25UZXJtcy5Jc0Zpc2NhbFBlcmlvZF06IFwiUFBQXCIsXG5cdFx0W0NvbW1vbkFubm90YXRpb25UZXJtcy5Jc0Zpc2NhbFllYXJQZXJpb2RdOiBcIllZWVlQUFBcIixcblx0XHRbQ29tbW9uQW5ub3RhdGlvblRlcm1zLklzRmlzY2FsUXVhcnRlcl06IFwiUVwiLFxuXHRcdFtDb21tb25Bbm5vdGF0aW9uVGVybXMuSXNGaXNjYWxZZWFyUXVhcnRlcl06IFwiWVlZWVFcIixcblx0XHRbQ29tbW9uQW5ub3RhdGlvblRlcm1zLklzRmlzY2FsV2Vla106IFwiV1dcIixcblx0XHRbQ29tbW9uQW5ub3RhdGlvblRlcm1zLklzRmlzY2FsWWVhcldlZWtdOiBcIllZWVlXV1wiLFxuXHRcdFtDb21tb25Bbm5vdGF0aW9uVGVybXMuSXNEYXlPZkZpc2NhbFllYXJdOiBcImRcIixcblx0XHRbQ29tbW9uQW5ub3RhdGlvblRlcm1zLklzRmlzY2FsWWVhclZhcmlhbnRdOiBcIlwiXG5cdH07XG5cblx0cHJpdmF0ZSBmb3JtYXR0ZXI6IEZpc2NhbEZvcm1hdCB8IHVuZGVmaW5lZDtcblxuXHQvKipcblx0ICogQHBhcmFtIGZvcm1hdE9wdGlvbnMgRm9ybWF0IG9wdGlvbnNcblx0ICogQHBhcmFtIGZvcm1hdE9wdGlvbnMuZmlzY2FsVHlwZSBTdHJpbmcgd2l0aCBhIGZpc2NhbCBhbm5vdGF0aW9uIHR5cGVcblx0ICogQHBhcmFtIGZvcm1hdE9wdGlvbnMucGFyc2VLZWVwc0VtcHR5U3RyaW5nIFdoZXRoZXIgZW1wdHkgc3RyaW5nIHNob3VsZCBiZSBrZXB0IG9yIG5vdFxuXHQgKiBAcGFyYW0gY29uc3RyYWludHMgQ29uc3RyYWludHNcblx0ICogQHBhcmFtIGNvbnN0cmFpbnRzLm1heExlbmd0aCBNYXhpbXVtIGxlbmd0aCBvZiB0aGUgZmllbGRcblx0ICovXG5cdGNvbnN0cnVjdG9yKGZvcm1hdE9wdGlvbnM6IHsgZmlzY2FsVHlwZTogc3RyaW5nOyBwYXJzZUtlZXBzRW1wdHlTdHJpbmc/OiBib29sZWFuIH0sIGNvbnN0cmFpbnRzPzogeyBtYXhMZW5ndGg/OiBudW1iZXIgfSkge1xuXHRcdGlmIChcblx0XHRcdChmb3JtYXRPcHRpb25zLmZpc2NhbFR5cGUgPT09IENvbW1vbkFubm90YXRpb25UZXJtcy5Jc0Zpc2NhbFllYXJQZXJpb2QgfHxcblx0XHRcdFx0Zm9ybWF0T3B0aW9ucy5maXNjYWxUeXBlID09PSBDb21tb25Bbm5vdGF0aW9uVGVybXMuSXNGaXNjYWxZZWFyUXVhcnRlciB8fFxuXHRcdFx0XHRmb3JtYXRPcHRpb25zLmZpc2NhbFR5cGUgPT09IENvbW1vbkFubm90YXRpb25UZXJtcy5Jc0Zpc2NhbFllYXJXZWVrKSAmJlxuXHRcdFx0Y29uc3RyYWludHM/Lm1heExlbmd0aFxuXHRcdCkge1xuXHRcdFx0Ly8gV2UgaW5jcmVhc2UgbWF4TGVuZ3RoIGZvciArMSBmb3IgYW55IGZpc2NhbCB0eXBlIHRoYXQgaGF2ZSBkZWxpbWl0ZXIgaW4gbG9jYWxlIGZvcm1hdC5cblx0XHRcdC8vIEl0J3MgbmVjZXNzYXJ5IGZvciB2YWxpZGF0aW9uIHRvIHdvcmsgY29ycmVjdGx5LlxuXHRcdFx0Ly8gQWxzbyBmb3IgdmFsaWRhdGlvbiB0byBmdW5jdGlvbiBwcm9wZXJseSB1c2VyIGFsc28gc2hvdWxkIHNwZWNpZnkgY29uc3RyYWludHMuaXNEaWdpdFNlcXVlbmNlID0gdHJ1ZVxuXHRcdFx0Ly8gaXNEaWdpdFNlcXVlbmNlIGFuZCBtYXhMZW5ndGggY29tYmluYXRpb24gZW5zdXJlcyB0aGF0IG1pc3NpbmcgY2hhcmFjdGVycyB3aWxsIGJlIHBvcHVsYXRlZCB3aXRoIGxlYWRpbmcgemVyb3Ncblx0XHRcdC8vIHRoYXQgd2lsbCBlbnN1cmUgdXNlciB3aWxsIHJlY2VpdmUgY29ycmVjdCB2YWxpZGF0aW9uIHJlc3VsdHMuXG5cdFx0XHRjb25zdHJhaW50cy5tYXhMZW5ndGggPSBjb25zdHJhaW50cy5tYXhMZW5ndGggKyAxO1xuXHRcdH1cblx0XHRzdXBlcihmb3JtYXRPcHRpb25zLCBjb25zdHJhaW50cyk7XG5cdFx0dGhpcy5hbm5vdGF0aW9uVHlwZSA9IGZvcm1hdE9wdGlvbnMuZmlzY2FsVHlwZTtcblx0XHRjb25zdCBmb3JtYXQgPSBGaXNjYWxEYXRlLmRhdGVGb3JtYXRzW3RoaXMuYW5ub3RhdGlvblR5cGUgYXMga2V5b2YgdHlwZW9mIEZpc2NhbERhdGUuZGF0ZUZvcm1hdHNdO1xuXHRcdGlmIChmb3JtYXQpIHtcblx0XHRcdHRoaXMuZm9ybWF0dGVyID0gRmlzY2FsRm9ybWF0LmdldERhdGVJbnN0YW5jZSh7XG5cdFx0XHRcdGZvcm1hdCxcblx0XHRcdFx0Y2FsZW5kYXJUeXBlOiBDYWxlbmRhclR5cGUuR3JlZ29yaWFuXG5cdFx0XHR9KTtcblx0XHR9XG5cdH1cblxuXHQvKipcblx0ICogUmV0dXJuIHBhdHRlcm4gZm9yIGZpc2NhbCBkYXRlIHR5cGUuXG5cdCAqXG5cdCAqIEByZXR1cm5zIFRoZSBmaXNjYWwgZGF0ZSBwYXR0ZXJuXG5cdCAqL1xuXHRwdWJsaWMgZ2V0UGF0dGVybigpOiBzdHJpbmcgfCB1bmRlZmluZWQge1xuXHRcdHJldHVybiB0aGlzLmZvcm1hdHRlcj8uZ2V0UGF0dGVybigpO1xuXHR9XG5cblx0LyoqXG5cdCAqIEZvcm1hdHMgdGhlIGdpdmVuIHZhbHVlIHRvIHRoZSBnaXZlbiBmaXNjYWwgdHlwZS5cblx0ICpcblx0ICogQHBhcmFtIHZhbHVlIFRoZSB2YWx1ZSB0byBiZSBmb3JtYXR0ZWRcblx0ICogQHJldHVybnMgVGhlIGZvcm1hdHRlZCBvdXRwdXQgdmFsdWU7IDxjb2RlPnVuZGVmaW5lZDwvY29kZT4gaXMgYWx3YXlzIGZvcm1hdHRlZCB0byA8Y29kZT5udWxsPC9jb2RlPlxuXHQgKiBAb3ZlcnJpZGVcblx0ICovXG5cdHB1YmxpYyBmb3JtYXRWYWx1ZSh2YWx1ZTogc3RyaW5nLCB0YXJnZXRUeXBlOiBzdHJpbmcpOiBzdHJpbmcgfCBudW1iZXIgfCBib29sZWFuIHtcblx0XHRyZXR1cm4gdGhpcy5mb3JtYXR0ZXIgPyB0aGlzLmZvcm1hdHRlci5mb3JtYXQoc3VwZXIuZm9ybWF0VmFsdWUodmFsdWUsIHRhcmdldFR5cGUpKSA6IHN1cGVyLmZvcm1hdFZhbHVlKHZhbHVlLCB0YXJnZXRUeXBlKTtcblx0fVxuXG5cdC8qKlxuXHQgKiBQYXJzZXMgdGhlIGdpdmVuIHZhbHVlLCB3aGljaCBpcyBleHBlY3RlZCB0byBiZSBvZiB0aGUgZmlzY2FsIHR5cGUsIHRvIGEgc3RyaW5nLlxuXHQgKlxuXHQgKiBAcGFyYW0gdmFsdWUgVGhlIHZhbHVlIHRvIGJlIHBhcnNlZFxuXHQgKiBAcmV0dXJucyBUaGUgcGFyc2VkIHZhbHVlXG5cdCAqIEBvdmVycmlkZVxuXHQgKi9cblx0cHVibGljIHBhcnNlVmFsdWUodmFsdWU6IHN0cmluZyB8IG51bWJlciB8IGJvb2xlYW4sIHNvdXJjZVR5cGU6IHN0cmluZyk6IHN0cmluZyB7XG5cdFx0cmV0dXJuIHRoaXMuZm9ybWF0dGVyID8gdGhpcy5mb3JtYXR0ZXIucGFyc2Uoc3VwZXIucGFyc2VWYWx1ZSh2YWx1ZSwgc291cmNlVHlwZSkpIDogc3VwZXIucGFyc2VWYWx1ZSh2YWx1ZSwgc291cmNlVHlwZSk7XG5cdH1cblxuXHQvKipcblx0ICogQGluaGVyaXREb2Ncblx0ICovXG5cdHB1YmxpYyB2YWxpZGF0ZVZhbHVlKHZhbHVlOiBzdHJpbmcpOiB2b2lkIHtcblx0XHR0cnkge1xuXHRcdFx0c3VwZXIudmFsaWRhdGVWYWx1ZSh2YWx1ZSk7XG5cdFx0fSBjYXRjaCAoZXJyb3IpIHtcblx0XHRcdGlmICghdGhpcy5mb3JtYXR0ZXIpIHtcblx0XHRcdFx0dGhyb3cgZXJyb3I7XG5cdFx0XHR9XG5cdFx0XHRpZiAoIXRoaXMuZm9ybWF0dGVyLnZhbGlkYXRlKHZhbHVlKSkge1xuXHRcdFx0XHR0aHJvdyBuZXcgVmFsaWRhdGVFeGNlcHRpb24odGhpcy5nZXRFcnJvck1lc3NhZ2UodGhpcy5hbm5vdGF0aW9uVHlwZSkpO1xuXHRcdFx0fVxuXHRcdH1cblxuXHRcdGlmICghdGhpcy5mb3JtYXR0ZXIgfHwgdmFsdWUgPT09IFwiXCIgfHwgdmFsdWUgPT09IG51bGwpIHtcblx0XHRcdHJldHVybjtcblx0XHR9XG5cdFx0aWYgKCF0aGlzLmZvcm1hdHRlci52YWxpZGF0ZSh2YWx1ZSkpIHtcblx0XHRcdHRocm93IG5ldyBWYWxpZGF0ZUV4Y2VwdGlvbih0aGlzLmdldEVycm9yTWVzc2FnZSh0aGlzLmFubm90YXRpb25UeXBlKSk7XG5cdFx0fVxuXHR9XG5cblx0LyoqXG5cdCAqIFJldHVybnMgdGhlIG1hdGNoaW5nIGxvY2FsZS1kZXBlbmRlbnQgZXJyb3IgbWVzc2FnZSBmb3IgdGhlIHR5cGUgYmFzZWQgb24gdGhlIGZpc2NhbCBhbm5vdGF0aW9uLlxuXHQgKlxuXHQgKiBAcGFyYW0gYW5ub3RhdGlvblR5cGUgVGhlIGZpc2NhbCBhbm5vdGF0aW9uIHR5cGVcblx0ICogQHJldHVybnMgVGhlIGxvY2FsZS1kZXBlbmRlbnQgZXJyb3IgbWVzc2FnZVxuXHQgKi9cblx0cHVibGljIGdldEVycm9yTWVzc2FnZShhbm5vdGF0aW9uVHlwZTogc3RyaW5nIHwgdW5kZWZpbmVkKTogc3RyaW5nIHtcblx0XHRsZXQgc1ZhbHVlID0gXCJcIjtcblx0XHR0aGlzLmZ1bGxZZWFyID0gdGhpcy5mdWxsWWVhciB8fCBuZXcgRGF0ZSgpLmdldEZ1bGxZZWFyKCkudG9TdHJpbmcoKTtcblxuXHRcdHN3aXRjaCAoYW5ub3RhdGlvblR5cGUpIHtcblx0XHRcdGNhc2UgQ29tbW9uQW5ub3RhdGlvblRlcm1zLklzRmlzY2FsWWVhcjpcblx0XHRcdFx0c1ZhbHVlID0gdGhpcy5mdWxsWWVhcjtcblx0XHRcdFx0YnJlYWs7XG5cdFx0XHRjYXNlIENvbW1vbkFubm90YXRpb25UZXJtcy5Jc0Zpc2NhbFBlcmlvZDpcblx0XHRcdFx0c1ZhbHVlID0gXCIwMDFcIjtcblx0XHRcdFx0YnJlYWs7XG5cdFx0XHRjYXNlIENvbW1vbkFubm90YXRpb25UZXJtcy5Jc0Zpc2NhbFllYXJQZXJpb2Q6XG5cdFx0XHRcdHNWYWx1ZSA9IHRoaXMuZnVsbFllYXIgKyBcIjAwMVwiO1xuXHRcdFx0XHRicmVhaztcblx0XHRcdGNhc2UgQ29tbW9uQW5ub3RhdGlvblRlcm1zLklzRmlzY2FsUXVhcnRlcjpcblx0XHRcdFx0c1ZhbHVlID0gXCIxXCI7XG5cdFx0XHRcdGJyZWFrO1xuXHRcdFx0Y2FzZSBDb21tb25Bbm5vdGF0aW9uVGVybXMuSXNGaXNjYWxZZWFyUXVhcnRlcjpcblx0XHRcdFx0c1ZhbHVlID0gdGhpcy5mdWxsWWVhciArIFwiMVwiO1xuXHRcdFx0XHRicmVhaztcblx0XHRcdGNhc2UgQ29tbW9uQW5ub3RhdGlvblRlcm1zLklzRmlzY2FsV2Vlazpcblx0XHRcdFx0c1ZhbHVlID0gXCIwMVwiO1xuXHRcdFx0XHRicmVhaztcblx0XHRcdGNhc2UgQ29tbW9uQW5ub3RhdGlvblRlcm1zLklzRmlzY2FsWWVhcldlZWs6XG5cdFx0XHRcdHNWYWx1ZSA9IHRoaXMuZnVsbFllYXIgKyBcIjAxXCI7XG5cdFx0XHRcdGJyZWFrO1xuXHRcdFx0Y2FzZSBDb21tb25Bbm5vdGF0aW9uVGVybXMuSXNEYXlPZkZpc2NhbFllYXI6XG5cdFx0XHRcdHNWYWx1ZSA9IFwiMVwiO1xuXHRcdFx0XHRicmVhaztcblx0XHRcdGNhc2UgQ29tbW9uQW5ub3RhdGlvblRlcm1zLklzRmlzY2FsWWVhclZhcmlhbnQ6XG5cdFx0XHRcdGJyZWFrO1xuXHRcdFx0ZGVmYXVsdDpcblx0XHRcdFx0c1ZhbHVlID0gdGhpcy5mdWxsWWVhcjtcblx0XHR9XG5cblx0XHRyZXR1cm4gTGlicmFyeS5nZXRSZXNvdXJjZUJ1bmRsZUZvcihcInNhcC5mZS5jb3JlXCIpIS5nZXRUZXh0KFwiRklTQ0FMX1ZBTElEQVRJT05fRkFJTFNcIiwgW3RoaXMuZm9ybWF0VmFsdWUoc1ZhbHVlLCBcInN0cmluZ1wiKV0pO1xuXHR9XG5cblx0LyoqXG5cdCAqIEBpbmhlcml0RG9jXG5cdCAqL1xuXHRwdWJsaWMgZ2V0TmFtZSgpOiBzdHJpbmcge1xuXHRcdHJldHVybiBcInNhcC5mZS5jb3JlLnR5cGUuRmlzY2FsRGF0ZVwiO1xuXHR9XG5cblx0LyoqXG5cdCAqIFJldHVybnMgdGhlIGZvcm1hdHRlciB0aGF0IGlzIGFzc2lnbmVkIHRvIHRoaXMgcGFydGljdWxhciBGaXNjYWxEYXRlIHR5cGUuXG5cdCAqXG5cdCAqIEByZXR1cm5zIFRoZSBhc3NpZ25lZCBpbnN0YW5jZSBvZiBGaXNjYWxGb3JtYXRcblx0ICovXG5cdHB1YmxpYyBnZXRGb3JtYXR0ZXIoKTogRmlzY2FsRm9ybWF0IHwgdW5kZWZpbmVkIHtcblx0XHRyZXR1cm4gdGhpcy5mb3JtYXR0ZXI7XG5cdH1cbn1cbmV4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
177
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJGaXNjYWxEYXRlIiwiZGVmaW5lVUk1Q2xhc3MiLCJmb3JtYXRPcHRpb25zIiwiY29uc3RyYWludHMiLCJmaXNjYWxUeXBlIiwibWF4TGVuZ3RoIiwiYW5ub3RhdGlvblR5cGUiLCJmb3JtYXQiLCJkYXRlRm9ybWF0cyIsImZvcm1hdHRlciIsIkZpc2NhbEZvcm1hdCIsImdldERhdGVJbnN0YW5jZSIsImNhbGVuZGFyVHlwZSIsIkNhbGVuZGFyVHlwZSIsIkdyZWdvcmlhbiIsImdldFBhdHRlcm4iLCJmb3JtYXRWYWx1ZSIsInZhbHVlIiwidGFyZ2V0VHlwZSIsInBhcnNlVmFsdWUiLCJzb3VyY2VUeXBlIiwicGFyc2UiLCJ2YWxpZGF0ZVZhbHVlIiwiZXJyb3IiLCJ2YWxpZGF0ZSIsIlZhbGlkYXRlRXhjZXB0aW9uIiwiZ2V0RXJyb3JNZXNzYWdlIiwic1ZhbHVlIiwiZnVsbFllYXIiLCJEYXRlIiwiZ2V0RnVsbFllYXIiLCJ0b1N0cmluZyIsIkxpYnJhcnkiLCJnZXRSZXNvdXJjZUJ1bmRsZUZvciIsImdldFRleHQiLCJnZXROYW1lIiwiZ2V0Rm9ybWF0dGVyIiwiT0RhdGFTdHJpbmdUeXBlIl0sInNvdXJjZVJvb3QiOiIuIiwic291cmNlcyI6WyJGaXNjYWxEYXRlLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbW1vbkFubm90YXRpb25UZXJtcyB9IGZyb20gXCJAc2FwLXV4L3ZvY2FidWxhcmllcy10eXBlcy92b2NhYnVsYXJpZXMvQ29tbW9uXCI7XG5pbXBvcnQgQ2FsZW5kYXJUeXBlIGZyb20gXCJzYXAvYmFzZS9pMThuL2RhdGUvQ2FsZW5kYXJUeXBlXCI7XG5pbXBvcnQgRmlzY2FsRm9ybWF0IGZyb20gXCJzYXAvZmUvY29yZS9mb3JtYXR0ZXJzL0Zpc2NhbEZvcm1hdFwiO1xuaW1wb3J0IHsgZGVmaW5lVUk1Q2xhc3MgfSBmcm9tIFwic2FwL2ZlL2NvcmUvaGVscGVycy9DbGFzc1N1cHBvcnRcIjtcbmltcG9ydCBMaWJyYXJ5IGZyb20gXCJzYXAvdWkvY29yZS9MaWJcIjtcbmltcG9ydCBWYWxpZGF0ZUV4Y2VwdGlvbiBmcm9tIFwic2FwL3VpL21vZGVsL1ZhbGlkYXRlRXhjZXB0aW9uXCI7XG5pbXBvcnQgT0RhdGFTdHJpbmdUeXBlIGZyb20gXCJzYXAvdWkvbW9kZWwvb2RhdGEvdHlwZS9TdHJpbmdcIjtcblxuLyoqXG4gKiBEZWZpbmUgdGhlIFVJNSBjbGFzcyBmb3IgYSB0eXBlIG9mIGZpc2NhbCBkYXRlLlxuICpcbiAqIFRoZSBkYXRhIHR5cGUgRmlzY2FsIERhdGUgc3VwcG9ydHMgdGhlIHBhcnNpbmcgYW5kIGZvcm1hdHRpbmcgb2YgZmlzY2FsIGRhdGVzIHRoYXQgZm9sbG93IHRoZSBwYXR0ZXJuICd5TScuXG4gKlxuICogQHNpbmNlIDEuMTEwLjBcbiAqIEBleHBlcmltZW50YWxcbiAqL1xuQGRlZmluZVVJNUNsYXNzKFwic2FwLmZlLmNvcmUudHlwZS5GaXNjYWxEYXRlXCIpXG5jbGFzcyBGaXNjYWxEYXRlIGV4dGVuZHMgT0RhdGFTdHJpbmdUeXBlIHtcblx0cHJpdmF0ZSBhbm5vdGF0aW9uVHlwZTogc3RyaW5nIHwgdW5kZWZpbmVkO1xuXG5cdHByaXZhdGUgZnVsbFllYXI6IHN0cmluZyB8IHVuZGVmaW5lZDtcblxuXHRwcml2YXRlIHN0YXRpYyBkYXRlRm9ybWF0cyA9IHtcblx0XHRbQ29tbW9uQW5ub3RhdGlvblRlcm1zLklzRmlzY2FsWWVhcl06IFwiWVlZWVwiLFxuXHRcdFtDb21tb25Bbm5vdGF0aW9uVGVybXMuSXNGaXNjYWxQZXJpb2RdOiBcIlBQUFwiLFxuXHRcdFtDb21tb25Bbm5vdGF0aW9uVGVybXMuSXNGaXNjYWxZZWFyUGVyaW9kXTogXCJZWVlZUFBQXCIsXG5cdFx0W0NvbW1vbkFubm90YXRpb25UZXJtcy5Jc0Zpc2NhbFF1YXJ0ZXJdOiBcIlFcIixcblx0XHRbQ29tbW9uQW5ub3RhdGlvblRlcm1zLklzRmlzY2FsWWVhclF1YXJ0ZXJdOiBcIllZWVlRXCIsXG5cdFx0W0NvbW1vbkFubm90YXRpb25UZXJtcy5Jc0Zpc2NhbFdlZWtdOiBcIldXXCIsXG5cdFx0W0NvbW1vbkFubm90YXRpb25UZXJtcy5Jc0Zpc2NhbFllYXJXZWVrXTogXCJZWVlZV1dcIixcblx0XHRbQ29tbW9uQW5ub3RhdGlvblRlcm1zLklzRGF5T2ZGaXNjYWxZZWFyXTogXCJkXCIsXG5cdFx0W0NvbW1vbkFubm90YXRpb25UZXJtcy5Jc0Zpc2NhbFllYXJWYXJpYW50XTogXCJcIlxuXHR9O1xuXG5cdHByaXZhdGUgZm9ybWF0dGVyOiBGaXNjYWxGb3JtYXQgfCB1bmRlZmluZWQ7XG5cblx0LyoqXG5cdCAqIEBwYXJhbSBmb3JtYXRPcHRpb25zIEZvcm1hdCBvcHRpb25zXG5cdCAqIEBwYXJhbSBmb3JtYXRPcHRpb25zLmZpc2NhbFR5cGUgU3RyaW5nIHdpdGggYSBmaXNjYWwgYW5ub3RhdGlvbiB0eXBlXG5cdCAqIEBwYXJhbSBmb3JtYXRPcHRpb25zLnBhcnNlS2VlcHNFbXB0eVN0cmluZyBXaGV0aGVyIGVtcHR5IHN0cmluZyBzaG91bGQgYmUga2VwdCBvciBub3Rcblx0ICogQHBhcmFtIGNvbnN0cmFpbnRzIENvbnN0cmFpbnRzXG5cdCAqIEBwYXJhbSBjb25zdHJhaW50cy5tYXhMZW5ndGggTWF4aW11bSBsZW5ndGggb2YgdGhlIGZpZWxkXG5cdCAqL1xuXHRjb25zdHJ1Y3Rvcihmb3JtYXRPcHRpb25zOiB7IGZpc2NhbFR5cGU6IHN0cmluZzsgcGFyc2VLZWVwc0VtcHR5U3RyaW5nPzogYm9vbGVhbiB9LCBjb25zdHJhaW50cz86IHsgbWF4TGVuZ3RoPzogbnVtYmVyIH0pIHtcblx0XHRpZiAoXG5cdFx0XHQoZm9ybWF0T3B0aW9ucy5maXNjYWxUeXBlID09PSBDb21tb25Bbm5vdGF0aW9uVGVybXMuSXNGaXNjYWxZZWFyUGVyaW9kIHx8XG5cdFx0XHRcdGZvcm1hdE9wdGlvbnMuZmlzY2FsVHlwZSA9PT0gQ29tbW9uQW5ub3RhdGlvblRlcm1zLklzRmlzY2FsWWVhclF1YXJ0ZXIgfHxcblx0XHRcdFx0Zm9ybWF0T3B0aW9ucy5maXNjYWxUeXBlID09PSBDb21tb25Bbm5vdGF0aW9uVGVybXMuSXNGaXNjYWxZZWFyV2VlaykgJiZcblx0XHRcdGNvbnN0cmFpbnRzPy5tYXhMZW5ndGhcblx0XHQpIHtcblx0XHRcdC8vIFdlIGluY3JlYXNlIG1heExlbmd0aCBmb3IgKzEgZm9yIGFueSBmaXNjYWwgdHlwZSB0aGF0IGhhdmUgZGVsaW1pdGVyIGluIGxvY2FsZSBmb3JtYXQuXG5cdFx0XHQvLyBJdCdzIG5lY2Vzc2FyeSBmb3IgdmFsaWRhdGlvbiB0byB3b3JrIGNvcnJlY3RseS5cblx0XHRcdC8vIEFsc28gZm9yIHZhbGlkYXRpb24gdG8gZnVuY3Rpb24gcHJvcGVybHkgdXNlciBhbHNvIHNob3VsZCBzcGVjaWZ5IGNvbnN0cmFpbnRzLmlzRGlnaXRTZXF1ZW5jZSA9IHRydWVcblx0XHRcdC8vIGlzRGlnaXRTZXF1ZW5jZSBhbmQgbWF4TGVuZ3RoIGNvbWJpbmF0aW9uIGVuc3VyZXMgdGhhdCBtaXNzaW5nIGNoYXJhY3RlcnMgd2lsbCBiZSBwb3B1bGF0ZWQgd2l0aCBsZWFkaW5nIHplcm9zXG5cdFx0XHQvLyB0aGF0IHdpbGwgZW5zdXJlIHVzZXIgd2lsbCByZWNlaXZlIGNvcnJlY3QgdmFsaWRhdGlvbiByZXN1bHRzLlxuXHRcdFx0Y29uc3RyYWludHMubWF4TGVuZ3RoID0gY29uc3RyYWludHMubWF4TGVuZ3RoICsgMTtcblx0XHR9XG5cdFx0c3VwZXIoZm9ybWF0T3B0aW9ucywgY29uc3RyYWludHMpO1xuXHRcdHRoaXMuYW5ub3RhdGlvblR5cGUgPSBmb3JtYXRPcHRpb25zLmZpc2NhbFR5cGU7XG5cdFx0Y29uc3QgZm9ybWF0ID0gRmlzY2FsRGF0ZS5kYXRlRm9ybWF0c1t0aGlzLmFubm90YXRpb25UeXBlIGFzIGtleW9mIHR5cGVvZiBGaXNjYWxEYXRlLmRhdGVGb3JtYXRzXTtcblx0XHRpZiAoZm9ybWF0KSB7XG5cdFx0XHR0aGlzLmZvcm1hdHRlciA9IEZpc2NhbEZvcm1hdC5nZXREYXRlSW5zdGFuY2Uoe1xuXHRcdFx0XHRmb3JtYXQsXG5cdFx0XHRcdGNhbGVuZGFyVHlwZTogQ2FsZW5kYXJUeXBlLkdyZWdvcmlhblxuXHRcdFx0fSk7XG5cdFx0fVxuXHR9XG5cblx0LyoqXG5cdCAqIFJldHVybiBwYXR0ZXJuIGZvciBmaXNjYWwgZGF0ZSB0eXBlLlxuXHQgKlxuXHQgKiBAcmV0dXJucyBUaGUgZmlzY2FsIGRhdGUgcGF0dGVyblxuXHQgKi9cblx0cHVibGljIGdldFBhdHRlcm4oKTogc3RyaW5nIHwgdW5kZWZpbmVkIHtcblx0XHRyZXR1cm4gdGhpcy5mb3JtYXR0ZXI/LmdldFBhdHRlcm4oKTtcblx0fVxuXG5cdC8qKlxuXHQgKiBGb3JtYXRzIHRoZSBnaXZlbiB2YWx1ZSB0byB0aGUgZ2l2ZW4gZmlzY2FsIHR5cGUuXG5cdCAqXG5cdCAqIEBwYXJhbSB2YWx1ZSBUaGUgdmFsdWUgdG8gYmUgZm9ybWF0dGVkXG5cdCAqIEByZXR1cm5zIFRoZSBmb3JtYXR0ZWQgb3V0cHV0IHZhbHVlOyA8Y29kZT51bmRlZmluZWQ8L2NvZGU+IGlzIGFsd2F5cyBmb3JtYXR0ZWQgdG8gPGNvZGU+bnVsbDwvY29kZT5cblx0ICogQG92ZXJyaWRlXG5cdCAqL1xuXHRwdWJsaWMgZm9ybWF0VmFsdWUodmFsdWU6IHN0cmluZywgdGFyZ2V0VHlwZTogc3RyaW5nKTogc3RyaW5nIHwgbnVtYmVyIHwgYm9vbGVhbiB7XG5cdFx0cmV0dXJuIHRoaXMuZm9ybWF0dGVyID8gdGhpcy5mb3JtYXR0ZXIuZm9ybWF0KHN1cGVyLmZvcm1hdFZhbHVlKHZhbHVlLCB0YXJnZXRUeXBlKSkgOiBzdXBlci5mb3JtYXRWYWx1ZSh2YWx1ZSwgdGFyZ2V0VHlwZSk7XG5cdH1cblxuXHQvKipcblx0ICogUGFyc2VzIHRoZSBnaXZlbiB2YWx1ZSwgd2hpY2ggaXMgZXhwZWN0ZWQgdG8gYmUgb2YgdGhlIGZpc2NhbCB0eXBlLCB0byBhIHN0cmluZy5cblx0ICpcblx0ICogQHBhcmFtIHZhbHVlIFRoZSB2YWx1ZSB0byBiZSBwYXJzZWRcblx0ICogQHJldHVybnMgVGhlIHBhcnNlZCB2YWx1ZVxuXHQgKiBAb3ZlcnJpZGVcblx0ICovXG5cdHB1YmxpYyBwYXJzZVZhbHVlKHZhbHVlOiBzdHJpbmcgfCBudW1iZXIgfCBib29sZWFuLCBzb3VyY2VUeXBlOiBzdHJpbmcpOiBzdHJpbmcge1xuXHRcdHJldHVybiB0aGlzLmZvcm1hdHRlciA/IHRoaXMuZm9ybWF0dGVyLnBhcnNlKHN1cGVyLnBhcnNlVmFsdWUodmFsdWUsIHNvdXJjZVR5cGUpKSA6IHN1cGVyLnBhcnNlVmFsdWUodmFsdWUsIHNvdXJjZVR5cGUpO1xuXHR9XG5cblx0LyoqXG5cdCAqIEBpbmhlcml0RG9jXG5cdCAqL1xuXHRwdWJsaWMgdmFsaWRhdGVWYWx1ZSh2YWx1ZTogc3RyaW5nKTogdm9pZCB7XG5cdFx0dHJ5IHtcblx0XHRcdHN1cGVyLnZhbGlkYXRlVmFsdWUodmFsdWUpO1xuXHRcdH0gY2F0Y2ggKGVycm9yKSB7XG5cdFx0XHRpZiAoIXRoaXMuZm9ybWF0dGVyKSB7XG5cdFx0XHRcdHRocm93IGVycm9yO1xuXHRcdFx0fVxuXHRcdFx0aWYgKCF0aGlzLmZvcm1hdHRlci52YWxpZGF0ZSh2YWx1ZSkpIHtcblx0XHRcdFx0dGhyb3cgbmV3IFZhbGlkYXRlRXhjZXB0aW9uKHRoaXMuZ2V0RXJyb3JNZXNzYWdlKHRoaXMuYW5ub3RhdGlvblR5cGUpKTtcblx0XHRcdH1cblx0XHR9XG5cblx0XHRpZiAoIXRoaXMuZm9ybWF0dGVyIHx8IHZhbHVlID09PSBcIlwiIHx8IHZhbHVlID09PSBudWxsKSB7XG5cdFx0XHRyZXR1cm47XG5cdFx0fVxuXHRcdGlmICghdGhpcy5mb3JtYXR0ZXIudmFsaWRhdGUodmFsdWUpKSB7XG5cdFx0XHR0aHJvdyBuZXcgVmFsaWRhdGVFeGNlcHRpb24odGhpcy5nZXRFcnJvck1lc3NhZ2UodGhpcy5hbm5vdGF0aW9uVHlwZSkpO1xuXHRcdH1cblx0fVxuXG5cdC8qKlxuXHQgKiBSZXR1cm5zIHRoZSBtYXRjaGluZyBsb2NhbGUtZGVwZW5kZW50IGVycm9yIG1lc3NhZ2UgZm9yIHRoZSB0eXBlIGJhc2VkIG9uIHRoZSBmaXNjYWwgYW5ub3RhdGlvbi5cblx0ICpcblx0ICogQHBhcmFtIGFubm90YXRpb25UeXBlIFRoZSBmaXNjYWwgYW5ub3RhdGlvbiB0eXBlXG5cdCAqIEByZXR1cm5zIFRoZSBsb2NhbGUtZGVwZW5kZW50IGVycm9yIG1lc3NhZ2Vcblx0ICovXG5cdHB1YmxpYyBnZXRFcnJvck1lc3NhZ2UoYW5ub3RhdGlvblR5cGU6IHN0cmluZyB8IHVuZGVmaW5lZCk6IHN0cmluZyB7XG5cdFx0bGV0IHNWYWx1ZSA9IFwiXCI7XG5cdFx0dGhpcy5mdWxsWWVhciA9IHRoaXMuZnVsbFllYXIgfHwgbmV3IERhdGUoKS5nZXRGdWxsWWVhcigpLnRvU3RyaW5nKCk7XG5cblx0XHRzd2l0Y2ggKGFubm90YXRpb25UeXBlKSB7XG5cdFx0XHRjYXNlIENvbW1vbkFubm90YXRpb25UZXJtcy5Jc0Zpc2NhbFllYXI6XG5cdFx0XHRcdHNWYWx1ZSA9IHRoaXMuZnVsbFllYXI7XG5cdFx0XHRcdGJyZWFrO1xuXHRcdFx0Y2FzZSBDb21tb25Bbm5vdGF0aW9uVGVybXMuSXNGaXNjYWxQZXJpb2Q6XG5cdFx0XHRcdHNWYWx1ZSA9IFwiMDAxXCI7XG5cdFx0XHRcdGJyZWFrO1xuXHRcdFx0Y2FzZSBDb21tb25Bbm5vdGF0aW9uVGVybXMuSXNGaXNjYWxZZWFyUGVyaW9kOlxuXHRcdFx0XHRzVmFsdWUgPSB0aGlzLmZ1bGxZZWFyICsgXCIwMDFcIjtcblx0XHRcdFx0YnJlYWs7XG5cdFx0XHRjYXNlIENvbW1vbkFubm90YXRpb25UZXJtcy5Jc0Zpc2NhbFF1YXJ0ZXI6XG5cdFx0XHRcdHNWYWx1ZSA9IFwiMVwiO1xuXHRcdFx0XHRicmVhaztcblx0XHRcdGNhc2UgQ29tbW9uQW5ub3RhdGlvblRlcm1zLklzRmlzY2FsWWVhclF1YXJ0ZXI6XG5cdFx0XHRcdHNWYWx1ZSA9IHRoaXMuZnVsbFllYXIgKyBcIjFcIjtcblx0XHRcdFx0YnJlYWs7XG5cdFx0XHRjYXNlIENvbW1vbkFubm90YXRpb25UZXJtcy5Jc0Zpc2NhbFdlZWs6XG5cdFx0XHRcdHNWYWx1ZSA9IFwiMDFcIjtcblx0XHRcdFx0YnJlYWs7XG5cdFx0XHRjYXNlIENvbW1vbkFubm90YXRpb25UZXJtcy5Jc0Zpc2NhbFllYXJXZWVrOlxuXHRcdFx0XHRzVmFsdWUgPSB0aGlzLmZ1bGxZZWFyICsgXCIwMVwiO1xuXHRcdFx0XHRicmVhaztcblx0XHRcdGNhc2UgQ29tbW9uQW5ub3RhdGlvblRlcm1zLklzRGF5T2ZGaXNjYWxZZWFyOlxuXHRcdFx0XHRzVmFsdWUgPSBcIjFcIjtcblx0XHRcdFx0YnJlYWs7XG5cdFx0XHRjYXNlIENvbW1vbkFubm90YXRpb25UZXJtcy5Jc0Zpc2NhbFllYXJWYXJpYW50OlxuXHRcdFx0XHRicmVhaztcblx0XHRcdGRlZmF1bHQ6XG5cdFx0XHRcdHNWYWx1ZSA9IHRoaXMuZnVsbFllYXI7XG5cdFx0fVxuXG5cdFx0cmV0dXJuIExpYnJhcnkuZ2V0UmVzb3VyY2VCdW5kbGVGb3IoXCJzYXAuZmUuY29yZVwiKSEuZ2V0VGV4dChcIkZJU0NBTF9WQUxJREFUSU9OX0ZBSUxTXCIsIFt0aGlzLmZvcm1hdFZhbHVlKHNWYWx1ZSwgXCJzdHJpbmdcIildKTtcblx0fVxuXG5cdC8qKlxuXHQgKiBAaW5oZXJpdERvY1xuXHQgKi9cblx0cHVibGljIGdldE5hbWUoKTogc3RyaW5nIHtcblx0XHRyZXR1cm4gXCJzYXAuZmUuY29yZS50eXBlLkZpc2NhbERhdGVcIjtcblx0fVxuXG5cdC8qKlxuXHQgKiBSZXR1cm5zIHRoZSBmb3JtYXR0ZXIgdGhhdCBpcyBhc3NpZ25lZCB0byB0aGlzIHBhcnRpY3VsYXIgRmlzY2FsRGF0ZSB0eXBlLlxuXHQgKlxuXHQgKiBAcmV0dXJucyBUaGUgYXNzaWduZWQgaW5zdGFuY2Ugb2YgRmlzY2FsRm9ybWF0XG5cdCAqL1xuXHRwdWJsaWMgZ2V0Rm9ybWF0dGVyKCk6IEZpc2NhbEZvcm1hdCB8IHVuZGVmaW5lZCB7XG5cdFx0cmV0dXJuIHRoaXMuZm9ybWF0dGVyO1xuXHR9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
@@ -1,10 +1,10 @@
1
1
  import { CommonAnnotationTerms } from "@sap-ux/vocabularies-types/vocabularies/Common";
2
+ import CalendarType from "sap/base/i18n/date/CalendarType";
2
3
  import FiscalFormat from "sap/fe/core/formatters/FiscalFormat";
3
4
  import { defineUI5Class } from "sap/fe/core/helpers/ClassSupport";
4
- import CalendarType from "sap/ui/core/CalendarType";
5
5
  import Library from "sap/ui/core/Lib";
6
- import ODataStringType from "sap/ui/model/odata/type/String";
7
6
  import ValidateException from "sap/ui/model/ValidateException";
7
+ import ODataStringType from "sap/ui/model/odata/type/String";
8
8
 
9
9
  /**
10
10
  * Define the UI5 class for a type of fiscal date.