@sapui5/sap.fe.core 1.102.0 → 1.103.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.
- package/package.json +5 -5
- package/src/sap/fe/core/.library +1 -1
- package/src/sap/fe/core/AppComponent.js +62 -26
- package/src/sap/fe/core/AppComponent.ts +56 -40
- package/src/sap/fe/core/AppStateHandler.js +10 -10
- package/src/sap/fe/core/AppStateHandler.ts +9 -9
- package/src/sap/fe/core/BaseController.js +11 -9
- package/src/sap/fe/core/BaseController.ts +15 -13
- package/src/sap/fe/core/CommonUtils.js +236 -109
- package/src/sap/fe/core/CommonUtils.ts +252 -136
- package/src/sap/fe/core/ExtensionAPI.js +24 -27
- package/src/sap/fe/core/ExtensionAPI.ts +36 -38
- package/src/sap/fe/core/PageController.js +4 -4
- package/src/sap/fe/core/PageController.ts +4 -5
- package/src/sap/fe/core/TemplateComponent.js +1 -1
- package/src/sap/fe/core/TemplateComponent.ts +6 -6
- package/src/sap/fe/core/TemplateModel.js +1 -1
- package/src/sap/fe/core/TemplateModel.ts +1 -1
- package/src/sap/fe/core/buildingBlocks/AttributeModel.js +1 -1
- package/src/sap/fe/core/buildingBlocks/AttributeModel.ts +1 -1
- package/src/sap/fe/core/buildingBlocks/BuildingBlockRuntime.js +8 -8
- package/src/sap/fe/core/buildingBlocks/BuildingBlockRuntime.ts +11 -10
- package/src/sap/fe/core/buildingBlocks/TraceInfo.js +27 -27
- package/src/sap/fe/core/buildingBlocks/TraceInfo.ts +28 -26
- package/src/sap/fe/core/controllerextensions/EditFlow.js +129 -118
- package/src/sap/fe/core/controllerextensions/EditFlow.ts +154 -141
- package/src/sap/fe/core/controllerextensions/IntentBasedNavigation.js +9 -9
- package/src/sap/fe/core/controllerextensions/IntentBasedNavigation.ts +10 -10
- package/src/sap/fe/core/controllerextensions/InternalEditFlow.js +31 -26
- package/src/sap/fe/core/controllerextensions/InternalEditFlow.ts +34 -35
- package/src/sap/fe/core/controllerextensions/InternalIntentBasedNavigation.js +70 -70
- package/src/sap/fe/core/controllerextensions/InternalIntentBasedNavigation.ts +77 -77
- package/src/sap/fe/core/controllerextensions/InternalRouting.js +84 -78
- package/src/sap/fe/core/controllerextensions/InternalRouting.ts +105 -101
- package/src/sap/fe/core/controllerextensions/KPIManagement.js +66 -68
- package/src/sap/fe/core/controllerextensions/KPIManagement.ts +106 -123
- package/src/sap/fe/core/controllerextensions/MassEdit.js +8 -8
- package/src/sap/fe/core/controllerextensions/MassEdit.ts +19 -26
- package/src/sap/fe/core/controllerextensions/MessageHandler.js +20 -12
- package/src/sap/fe/core/controllerextensions/MessageHandler.ts +29 -14
- package/src/sap/fe/core/controllerextensions/PageReady.js +97 -25
- package/src/sap/fe/core/controllerextensions/PageReady.ts +94 -34
- package/src/sap/fe/core/controllerextensions/Paginator.js +21 -22
- package/src/sap/fe/core/controllerextensions/Paginator.ts +24 -25
- package/src/sap/fe/core/controllerextensions/Placeholder.js +4 -6
- package/src/sap/fe/core/controllerextensions/Placeholder.ts +12 -14
- package/src/sap/fe/core/controllerextensions/Routing.js +10 -11
- package/src/sap/fe/core/controllerextensions/Routing.ts +12 -13
- package/src/sap/fe/core/controllerextensions/Share.js +22 -22
- package/src/sap/fe/core/controllerextensions/Share.ts +30 -29
- package/src/sap/fe/core/controllerextensions/SideEffects.js +46 -50
- package/src/sap/fe/core/controllerextensions/SideEffects.ts +56 -60
- package/src/sap/fe/core/controllerextensions/ViewState.js +65 -62
- package/src/sap/fe/core/controllerextensions/ViewState.ts +68 -63
- package/src/sap/fe/core/controllerextensions/collaboration/ActivityBase.js +5 -5
- package/src/sap/fe/core/controllerextensions/collaboration/ActivityBase.ts +8 -7
- package/src/sap/fe/core/controllerextensions/collaboration/ActivitySync.js +6 -6
- package/src/sap/fe/core/controllerextensions/collaboration/ActivitySync.ts +12 -17
- package/src/sap/fe/core/controllerextensions/collaboration/CollaborationCommon.js +2 -2
- package/src/sap/fe/core/controllerextensions/collaboration/CollaborationCommon.ts +4 -4
- package/src/sap/fe/core/controllerextensions/collaboration/Manage.js +7 -9
- package/src/sap/fe/core/controllerextensions/collaboration/Manage.ts +18 -19
- package/src/sap/fe/core/controllerextensions/editFlow/TransactionHelper.js +184 -137
- package/src/sap/fe/core/controllerextensions/editFlow/TransactionHelper.ts +253 -206
- package/src/sap/fe/core/controllerextensions/editFlow/draft.js +113 -121
- package/src/sap/fe/core/controllerextensions/editFlow/draft.ts +148 -158
- package/src/sap/fe/core/controllerextensions/editFlow/operations.js +198 -148
- package/src/sap/fe/core/controllerextensions/editFlow/operations.ts +223 -159
- package/src/sap/fe/core/controllerextensions/editFlow/sticky.js +24 -26
- package/src/sap/fe/core/controllerextensions/editFlow/sticky.ts +35 -33
- package/src/sap/fe/core/controllerextensions/messageHandler/messageHandling.js +78 -44
- package/src/sap/fe/core/controllerextensions/messageHandler/messageHandling.ts +90 -60
- package/src/sap/fe/core/controllerextensions/routing/RouterProxy.js +52 -55
- package/src/sap/fe/core/controllerextensions/routing/RouterProxy.ts +55 -58
- package/src/sap/fe/core/controls/Any.js +9 -5
- package/src/sap/fe/core/controls/Any.ts +10 -4
- package/src/sap/fe/core/controls/CommandExecution.js +11 -25
- package/src/sap/fe/core/controls/CommandExecution.ts +11 -25
- package/src/sap/fe/core/controls/ConditionalWrapper.js +2 -2
- package/src/sap/fe/core/controls/ConditionalWrapper.ts +3 -3
- package/src/sap/fe/core/controls/CustomFilterFieldContentWrapper.js +22 -22
- package/src/sap/fe/core/controls/CustomFilterFieldContentWrapper.ts +25 -24
- package/src/sap/fe/core/controls/CustomQuickViewPage.js +2 -2
- package/src/sap/fe/core/controls/CustomQuickViewPage.ts +2 -2
- package/src/sap/fe/core/controls/DataLossOrDraftDiscard/DataLossOrDraftDiscardHandler.js +3 -3
- package/src/sap/fe/core/controls/DataLossOrDraftDiscard/DataLossOrDraftDiscardHandler.ts +5 -5
- package/src/sap/fe/core/controls/FieldWrapper.js +2 -2
- package/src/sap/fe/core/controls/FieldWrapper.ts +3 -3
- package/src/sap/fe/core/controls/FileWrapper.js +2 -2
- package/src/sap/fe/core/controls/FileWrapper.ts +11 -11
- package/src/sap/fe/core/controls/FilterBar.js +6 -2
- package/src/sap/fe/core/controls/FilterBar.ts +13 -9
- package/src/sap/fe/core/controls/FormElementWrapper.js +1 -1
- package/src/sap/fe/core/controls/FormElementWrapper.ts +2 -2
- package/src/sap/fe/core/controls/MassEditSelect.js +1 -1
- package/src/sap/fe/core/controls/MassEditSelect.ts +0 -4
- package/src/sap/fe/core/controls/NonComputedVisibleKeyFieldsDialog.fragment.xml +3 -3
- package/src/sap/fe/core/controls/filterbar/VisualFilter.js +16 -12
- package/src/sap/fe/core/controls/filterbar/VisualFilter.ts +20 -22
- package/src/sap/fe/core/controls/filterbar/VisualFilterContainer.js +3 -3
- package/src/sap/fe/core/controls/filterbar/VisualFilterContainer.ts +8 -8
- package/src/sap/fe/core/controls/filterbar/utils/VisualFilterUtils.js +47 -47
- package/src/sap/fe/core/controls/filterbar/utils/VisualFilterUtils.ts +52 -52
- package/src/sap/fe/core/controls/massEdit/MassEditDialog.fragment.xml +8 -2
- package/src/sap/fe/core/controls/massEdit/MassEditHandlers.js +89 -88
- package/src/sap/fe/core/controls/massEdit/MassEditHandlers.ts +107 -106
- package/src/sap/fe/core/converters/ConverterContext.js +26 -33
- package/src/sap/fe/core/converters/ConverterContext.ts +51 -60
- package/src/sap/fe/core/converters/ManifestSettings.js +1 -1
- package/src/sap/fe/core/converters/ManifestSettings.ts +14 -14
- package/src/sap/fe/core/converters/ManifestWrapper.js +59 -45
- package/src/sap/fe/core/converters/ManifestWrapper.ts +55 -45
- package/src/sap/fe/core/converters/MetaModelConverter.js +50 -32
- package/src/sap/fe/core/converters/MetaModelConverter.ts +145 -127
- package/src/sap/fe/core/converters/TemplateConverter.js +21 -20
- package/src/sap/fe/core/converters/TemplateConverter.ts +27 -24
- package/src/sap/fe/core/converters/annotations/DataField.js +54 -34
- package/src/sap/fe/core/converters/annotations/DataField.ts +97 -75
- package/src/sap/fe/core/converters/common/AnnotationConverter.js +1911 -1495
- package/src/sap/fe/core/converters/controls/Common/Action.js +50 -41
- package/src/sap/fe/core/converters/controls/Common/Action.ts +56 -46
- package/src/sap/fe/core/converters/controls/Common/Chart.js +14 -14
- package/src/sap/fe/core/converters/controls/Common/Chart.ts +23 -26
- package/src/sap/fe/core/converters/controls/Common/Criticality.js +3 -3
- package/src/sap/fe/core/converters/controls/Common/Criticality.ts +4 -4
- package/src/sap/fe/core/converters/controls/Common/DataVisualization.js +28 -28
- package/src/sap/fe/core/converters/controls/Common/DataVisualization.ts +40 -36
- package/src/sap/fe/core/converters/controls/Common/Form.js +25 -27
- package/src/sap/fe/core/converters/controls/Common/Form.ts +37 -45
- package/src/sap/fe/core/converters/controls/Common/KPI.js +11 -11
- package/src/sap/fe/core/converters/controls/Common/KPI.ts +35 -39
- package/src/sap/fe/core/converters/controls/Common/Table.js +174 -183
- package/src/sap/fe/core/converters/controls/Common/Table.ts +237 -250
- package/src/sap/fe/core/converters/controls/Common/table/StandardActions.js +119 -119
- package/src/sap/fe/core/converters/controls/Common/table/StandardActions.ts +144 -141
- package/src/sap/fe/core/converters/controls/ListReport/FilterBar.js +45 -41
- package/src/sap/fe/core/converters/controls/ListReport/FilterBar.ts +64 -57
- package/src/sap/fe/core/converters/controls/ListReport/VisualFilters.js +28 -26
- package/src/sap/fe/core/converters/controls/ListReport/VisualFilters.ts +46 -43
- package/src/sap/fe/core/converters/controls/ObjectPage/Avatar.js +9 -9
- package/src/sap/fe/core/converters/controls/ObjectPage/Avatar.ts +14 -13
- package/src/sap/fe/core/converters/controls/ObjectPage/HeaderFacet.js +67 -64
- package/src/sap/fe/core/converters/controls/ObjectPage/HeaderFacet.ts +69 -66
- package/src/sap/fe/core/converters/controls/ObjectPage/SubSection.js +73 -72
- package/src/sap/fe/core/converters/controls/ObjectPage/SubSection.ts +98 -96
- package/src/sap/fe/core/converters/helpers/Aggregation.js +2 -4
- package/src/sap/fe/core/converters/helpers/Aggregation.ts +10 -13
- package/src/sap/fe/core/converters/helpers/BindingHelper.js +31 -31
- package/src/sap/fe/core/converters/helpers/BindingHelper.ts +30 -29
- package/src/sap/fe/core/converters/helpers/ConfigurableObject.js +4 -4
- package/src/sap/fe/core/converters/helpers/ConfigurableObject.ts +9 -9
- package/src/sap/fe/core/converters/helpers/ID.js +46 -46
- package/src/sap/fe/core/converters/helpers/ID.ts +25 -25
- package/src/sap/fe/core/converters/helpers/Key.js +7 -7
- package/src/sap/fe/core/converters/helpers/Key.ts +7 -7
- package/src/sap/fe/core/converters/helpers/SelectionVariantHelper.js +1 -1
- package/src/sap/fe/core/converters/helpers/SelectionVariantHelper.ts +4 -4
- package/src/sap/fe/core/converters/objectPage/FormMenuActions.js +6 -6
- package/src/sap/fe/core/converters/objectPage/FormMenuActions.ts +10 -10
- package/src/sap/fe/core/converters/objectPage/HeaderAndFooterAction.js +46 -62
- package/src/sap/fe/core/converters/objectPage/HeaderAndFooterAction.ts +54 -82
- package/src/sap/fe/core/converters/templates/ListReportConverter.js +30 -29
- package/src/sap/fe/core/converters/templates/ListReportConverter.ts +40 -40
- package/src/sap/fe/core/converters/templates/ObjectPageConverter.js +39 -38
- package/src/sap/fe/core/converters/templates/ObjectPageConverter.ts +52 -61
- package/src/sap/fe/core/designtime/AppComponent.designtime.js +4 -4
- package/src/sap/fe/core/designtime/AppComponent.designtime.ts +4 -4
- package/src/sap/fe/core/formatters/CollaborationFormatter.js +2 -2
- package/src/sap/fe/core/formatters/CollaborationFormatter.ts +3 -3
- package/src/sap/fe/core/formatters/FPMFormatter.js +5 -5
- package/src/sap/fe/core/formatters/FPMFormatter.ts +10 -10
- package/src/sap/fe/core/formatters/KPIFormatter.js +7 -7
- package/src/sap/fe/core/formatters/KPIFormatter.ts +10 -10
- package/src/sap/fe/core/formatters/StandardFormatter.js +89 -0
- package/src/sap/fe/core/formatters/StandardFormatter.ts +64 -0
- package/src/sap/fe/core/formatters/TableFormatter.js +11 -11
- package/src/sap/fe/core/formatters/TableFormatter.ts +12 -12
- package/src/sap/fe/core/formatters/ValueFormatter.js +8 -8
- package/src/sap/fe/core/formatters/ValueFormatter.ts +9 -9
- package/src/sap/fe/core/helpers/AppStartupHelper.js +15 -15
- package/src/sap/fe/core/helpers/AppStartupHelper.ts +37 -40
- package/src/sap/fe/core/helpers/BindingToolkit.js +1809 -0
- package/src/sap/fe/core/helpers/{BindingExpression.ts → BindingToolkit.ts} +365 -264
- package/src/sap/fe/core/helpers/ClassSupport.js +20 -11
- package/src/sap/fe/core/helpers/ClassSupport.ts +14 -10
- package/src/sap/fe/core/helpers/DynamicAnnotationPathHelper.js +2 -2
- package/src/sap/fe/core/helpers/DynamicAnnotationPathHelper.ts +1 -1
- package/src/sap/fe/core/helpers/EditState.js +1 -6
- package/src/sap/fe/core/helpers/EditState.ts +5 -10
- package/src/sap/fe/core/helpers/ExcelFormatHelper.js +2 -2
- package/src/sap/fe/core/helpers/ExcelFormatHelper.ts +4 -4
- package/src/sap/fe/core/helpers/FPMHelper.js +1 -1
- package/src/sap/fe/core/helpers/FPMHelper.ts +2 -2
- package/src/sap/fe/core/helpers/KeepAliveHelper.js +31 -31
- package/src/sap/fe/core/helpers/KeepAliveHelper.ts +52 -56
- package/src/sap/fe/core/helpers/MassEditHelper.js +281 -254
- package/src/sap/fe/core/helpers/MassEditHelper.ts +337 -289
- package/src/sap/fe/core/helpers/ModelHelper.js +25 -25
- package/src/sap/fe/core/helpers/ModelHelper.ts +34 -32
- package/src/sap/fe/core/helpers/PasteHelper.js +3 -10
- package/src/sap/fe/core/helpers/PasteHelper.ts +20 -25
- package/src/sap/fe/core/helpers/SemanticDateOperators.js +1 -1
- package/src/sap/fe/core/helpers/SemanticDateOperators.ts +11 -11
- package/src/sap/fe/core/helpers/SemanticKeyHelper.js +3 -3
- package/src/sap/fe/core/helpers/SemanticKeyHelper.ts +8 -8
- package/src/sap/fe/core/helpers/StableIdHelper.js +12 -12
- package/src/sap/fe/core/helpers/StableIdHelper.ts +12 -12
- package/src/sap/fe/core/jsx-runtime/jsx.js +1 -1
- package/src/sap/fe/core/jsx-runtime/jsx.ts +8 -8
- package/src/sap/fe/core/library.js +42 -3
- package/src/sap/fe/core/library.ts +38 -0
- package/src/sap/fe/core/manifestMerger/ChangePageConfiguration.js +3 -3
- package/src/sap/fe/core/manifestMerger/ChangePageConfiguration.ts +2 -2
- package/src/sap/fe/core/messagebundle.properties +49 -35
- package/src/sap/fe/core/messagebundle_ar.properties +13 -5
- package/src/sap/fe/core/messagebundle_bg.properties +13 -5
- package/src/sap/fe/core/messagebundle_ca.properties +13 -5
- package/src/sap/fe/core/messagebundle_cs.properties +13 -5
- package/src/sap/fe/core/messagebundle_cy.properties +14 -6
- package/src/sap/fe/core/messagebundle_da.properties +13 -5
- package/src/sap/fe/core/messagebundle_de.properties +15 -7
- package/src/sap/fe/core/messagebundle_el.properties +14 -6
- package/src/sap/fe/core/messagebundle_en.properties +9 -1
- package/src/sap/fe/core/messagebundle_en_GB.properties +11 -3
- package/src/sap/fe/core/messagebundle_en_US_sappsd.properties +7 -1
- package/src/sap/fe/core/messagebundle_en_US_saprigi.properties +9 -1
- package/src/sap/fe/core/messagebundle_en_US_saptrc.properties +44 -85
- package/src/sap/fe/core/messagebundle_es.properties +13 -5
- package/src/sap/fe/core/messagebundle_es_MX.properties +13 -5
- package/src/sap/fe/core/messagebundle_et.properties +13 -5
- package/src/sap/fe/core/messagebundle_fi.properties +14 -6
- package/src/sap/fe/core/messagebundle_fr.properties +14 -6
- package/src/sap/fe/core/messagebundle_fr_CA.properties +14 -6
- package/src/sap/fe/core/messagebundle_hi.properties +14 -6
- package/src/sap/fe/core/messagebundle_hr.properties +14 -6
- package/src/sap/fe/core/messagebundle_hu.properties +13 -5
- package/src/sap/fe/core/messagebundle_id.properties +13 -5
- package/src/sap/fe/core/messagebundle_it.properties +33 -25
- package/src/sap/fe/core/messagebundle_iw.properties +13 -5
- package/src/sap/fe/core/messagebundle_ja.properties +14 -6
- package/src/sap/fe/core/messagebundle_kk.properties +13 -5
- package/src/sap/fe/core/messagebundle_ko.properties +13 -5
- package/src/sap/fe/core/messagebundle_lt.properties +13 -5
- package/src/sap/fe/core/messagebundle_lv.properties +14 -6
- package/src/sap/fe/core/messagebundle_ms.properties +13 -5
- package/src/sap/fe/core/messagebundle_nl.properties +13 -5
- package/src/sap/fe/core/messagebundle_no.properties +13 -5
- package/src/sap/fe/core/messagebundle_pl.properties +13 -5
- package/src/sap/fe/core/messagebundle_pt.properties +13 -5
- package/src/sap/fe/core/messagebundle_pt_PT.properties +14 -6
- package/src/sap/fe/core/messagebundle_ro.properties +13 -5
- package/src/sap/fe/core/messagebundle_ru.properties +13 -5
- package/src/sap/fe/core/messagebundle_sh.properties +13 -5
- package/src/sap/fe/core/messagebundle_sk.properties +13 -5
- package/src/sap/fe/core/messagebundle_sl.properties +17 -9
- package/src/sap/fe/core/messagebundle_sv.properties +14 -6
- package/src/sap/fe/core/messagebundle_th.properties +13 -5
- package/src/sap/fe/core/messagebundle_tr.properties +13 -5
- package/src/sap/fe/core/messagebundle_uk.properties +13 -5
- package/src/sap/fe/core/messagebundle_vi.properties +13 -5
- package/src/sap/fe/core/messagebundle_zh_CN.properties +14 -6
- package/src/sap/fe/core/messagebundle_zh_TW.properties +13 -5
- package/src/sap/fe/core/services/AsyncComponentServiceFactory.js +2 -2
- package/src/sap/fe/core/services/AsyncComponentServiceFactory.ts +5 -5
- package/src/sap/fe/core/services/CacheHandlerServiceFactory.js +2 -2
- package/src/sap/fe/core/services/CacheHandlerServiceFactory.ts +14 -14
- package/src/sap/fe/core/services/EnvironmentServiceFactory.js +1 -1
- package/src/sap/fe/core/services/EnvironmentServiceFactory.ts +3 -2
- package/src/sap/fe/core/services/NavigationServiceFactory.js +53 -44
- package/src/sap/fe/core/services/NavigationServiceFactory.ts +54 -46
- package/src/sap/fe/core/services/ResourceModelServiceFactory.js +2 -2
- package/src/sap/fe/core/services/ResourceModelServiceFactory.ts +4 -4
- package/src/sap/fe/core/services/RoutingServiceFactory.js +55 -55
- package/src/sap/fe/core/services/RoutingServiceFactory.ts +67 -65
- package/src/sap/fe/core/services/ShellServicesFactory.js +72 -76
- package/src/sap/fe/core/services/ShellServicesFactory.ts +76 -82
- package/src/sap/fe/core/services/SideEffectsServiceFactory.js +61 -61
- package/src/sap/fe/core/services/SideEffectsServiceFactory.ts +102 -92
- package/src/sap/fe/core/services/TemplatedViewServiceFactory.js +20 -15
- package/src/sap/fe/core/services/TemplatedViewServiceFactory.ts +26 -21
- package/src/sap/fe/core/support/CommonHelper.js +3 -2
- package/src/sap/fe/core/support/CommonHelper.ts +9 -13
- package/src/sap/fe/core/support/Diagnostics.js +1 -1
- package/src/sap/fe/core/support/Diagnostics.ts +5 -5
- package/src/sap/fe/core/templating/CommonFormatters.js +84 -0
- package/src/sap/fe/core/templating/CommonFormatters.ts +86 -0
- package/src/sap/fe/core/templating/CriticalityFormatters.js +31 -31
- package/src/sap/fe/core/templating/CriticalityFormatters.ts +42 -40
- package/src/sap/fe/core/templating/DataFieldFormatters.js +8 -8
- package/src/sap/fe/core/templating/DataFieldFormatters.ts +13 -10
- package/src/sap/fe/core/templating/DataModelPathHelper.js +16 -15
- package/src/sap/fe/core/templating/DataModelPathHelper.ts +42 -32
- package/src/sap/fe/core/templating/DisplayModeFormatter.js +1 -1
- package/src/sap/fe/core/templating/DisplayModeFormatter.ts +2 -3
- package/src/sap/fe/core/templating/EntitySetHelper.js +7 -7
- package/src/sap/fe/core/templating/EntitySetHelper.ts +6 -8
- package/src/sap/fe/core/templating/FieldControlHelper.js +35 -34
- package/src/sap/fe/core/templating/FieldControlHelper.ts +29 -46
- package/src/sap/fe/core/templating/FilterHelper.js +10 -9
- package/src/sap/fe/core/templating/FilterHelper.ts +13 -13
- package/src/sap/fe/core/templating/FilterTemplating.js +1 -1
- package/src/sap/fe/core/templating/FilterTemplating.ts +3 -3
- package/src/sap/fe/core/templating/PropertyFormatters.js +7 -7
- package/src/sap/fe/core/templating/PropertyFormatters.ts +21 -19
- package/src/sap/fe/core/templating/PropertyHelper.js +25 -25
- package/src/sap/fe/core/templating/PropertyHelper.ts +25 -26
- package/src/sap/fe/core/templating/UIFormatters.js +148 -93
- package/src/sap/fe/core/templating/UIFormatters.ts +196 -124
- package/src/sap/fe/core/type/Email.js +2 -2
- package/src/sap/fe/core/type/Email.ts +2 -2
- package/src/sap/fe/core/helpers/BindingExpression.js +0 -1732
|
@@ -63,4 +63,4 @@ sap.ui.define([], function () {
|
|
|
63
63
|
_exports.isPropertyFilterable = isPropertyFilterable;
|
|
64
64
|
return _exports;
|
|
65
65
|
}, false);
|
|
66
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,
|
|
66
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIkZpbHRlclRlbXBsYXRpbmcudHMiXSwibmFtZXMiOlsiZ2V0SXNSZXF1aXJlZCIsImNvbnZlcnRlckNvbnRleHQiLCJzUHJvcGVydHlQYXRoIiwiZW50aXR5U2V0QW5ub3RhdGlvbnMiLCJnZXRFbnRpdHlTZXQiLCJhbm5vdGF0aW9ucyIsImFSZXF1aXJlZFByb3BlcnRpZXMiLCJDYXBhYmlsaXRpZXMiLCJGaWx0ZXJSZXN0cmljdGlvbnMiLCJSZXF1aXJlZFByb3BlcnRpZXMiLCJiSXNSZXF1aXJlZCIsImZvckVhY2giLCJvUmVxdWlyZWRQcm9wZXJ0eSIsInZhbHVlIiwiaXNQcm9wZXJ0eUZpbHRlcmFibGUiLCJ2YWx1ZUxpc3RQcm9wZXJ0eSIsImJOb3RGaWx0ZXJhYmxlIiwiYkhpZGRlbiIsImVudGl0eVR5cGUiLCJnZXRFbnRpdHlUeXBlIiwibm9uRmlsdGVyYWJsZVByb3BlcnRpZXMiLCJOb25GaWx0ZXJhYmxlUHJvcGVydGllcyIsInByb3BlcnRpZXMiLCJlbnRpdHlQcm9wZXJ0aWVzIiwicHJvcGVydHkiLCJQcm9wZXJ0eVBhdGgiLCJuYW1lIiwiVUkiLCJIaWRkZW4iLCJ2YWx1ZU9mIiwibGVuZ3RoIiwiaSIsInNQcm9wZXJ0eU5hbWUiXSwibWFwcGluZ3MiOiI7QUFBQTtBQUNBO0FBQ0E7Ozs7OztBQUNPLFdBQVNBLGFBQVQsQ0FBdUJDLGdCQUF2QixFQUEyREMsYUFBM0QsRUFBMkY7QUFBQTs7QUFDakcsUUFBTUMsb0JBQW9CLDRCQUFHRixnQkFBZ0IsQ0FBQ0csWUFBakIsRUFBSCwwREFBRyxzQkFBaUNDLFdBQTlEO0FBQ0EsUUFBTUMsbUJBQW1CLEdBQUdILG9CQUFILGFBQUdBLG9CQUFILGdEQUFHQSxvQkFBb0IsQ0FBRUksWUFBekIsb0ZBQUcsc0JBQW9DQyxrQkFBdkMsMkRBQUcsdUJBQXdEQyxrQkFBcEY7QUFDQSxRQUFJQyxXQUFXLEdBQUcsS0FBbEI7O0FBQ0EsUUFBSUosbUJBQUosRUFBeUI7QUFDeEJBLE1BQUFBLG1CQUFtQixDQUFDSyxPQUFwQixDQUE0QixVQUFVQyxpQkFBVixFQUE2QjtBQUN4RCxZQUFJVixhQUFhLE1BQUtVLGlCQUFMLGFBQUtBLGlCQUFMLHVCQUFLQSxpQkFBaUIsQ0FBRUMsS0FBeEIsQ0FBakIsRUFBZ0Q7QUFDL0NILFVBQUFBLFdBQVcsR0FBRyxJQUFkO0FBQ0E7QUFDRCxPQUpEO0FBS0E7O0FBQ0QsV0FBT0EsV0FBUDtBQUNBOzs7O0FBRU0sV0FBU0ksb0JBQVQsQ0FBOEJiLGdCQUE5QixFQUFrRWMsaUJBQWxFLEVBQWtIO0FBQUE7O0FBQ3hILFFBQUlDLGNBQUosRUFBb0JDLE9BQXBCO0FBQ0EsUUFBTUMsVUFBVSxHQUFHakIsZ0JBQWdCLENBQUNrQixhQUFqQixFQUFuQjtBQUNBLFFBQU1oQixvQkFBb0IsNkJBQUdGLGdCQUFnQixDQUFDRyxZQUFqQixFQUFILDJEQUFHLHVCQUFpQ0MsV0FBOUQ7QUFDQSxRQUFNZSx1QkFBdUIsR0FBR2pCLG9CQUFILGFBQUdBLG9CQUFILGlEQUFHQSxvQkFBb0IsQ0FBRUksWUFBekIscUZBQUcsdUJBQW9DQyxrQkFBdkMsMkRBQUcsdUJBQXdEYSx1QkFBeEY7QUFDQSxRQUFNQyxVQUFVLEdBQUdKLFVBQVUsQ0FBQ0ssZ0JBQTlCO0FBQ0FELElBQUFBLFVBQVUsQ0FBQ1gsT0FBWCxDQUFtQixVQUFDYSxRQUFELEVBQXdCO0FBQzFDLFVBQU1DLFlBQVksR0FBR0QsUUFBUSxDQUFDRSxJQUE5Qjs7QUFDQSxVQUFJRCxZQUFZLEtBQUtWLGlCQUFyQixFQUF3QztBQUFBOztBQUN2Q0UsUUFBQUEsT0FBTyw0QkFBR08sUUFBUSxDQUFDbkIsV0FBWixvRkFBRyxzQkFBc0JzQixFQUF6QixxRkFBRyx1QkFBMEJDLE1BQTdCLDJEQUFHLHVCQUFrQ0MsT0FBbEMsRUFBVjtBQUNBO0FBQ0QsS0FMRDs7QUFNQSxRQUFJVCx1QkFBdUIsSUFBSUEsdUJBQXVCLENBQUNVLE1BQXhCLEdBQWlDLENBQWhFLEVBQW1FO0FBQ2xFLFdBQUssSUFBSUMsQ0FBQyxHQUFHLENBQWIsRUFBZ0JBLENBQUMsR0FBR1gsdUJBQXVCLENBQUNVLE1BQTVDLEVBQW9EQyxDQUFDLEVBQXJELEVBQXlEO0FBQUE7O0FBQ3hELFlBQU1DLGFBQWEsNEJBQUdaLHVCQUF1QixDQUFDVyxDQUFELENBQTFCLDBEQUFHLHNCQUE0QmxCLEtBQWxEOztBQUNBLFlBQUltQixhQUFhLEtBQUtqQixpQkFBdEIsRUFBeUM7QUFDeENDLFVBQUFBLGNBQWMsR0FBRyxJQUFqQjtBQUNBO0FBQ0Q7QUFDRDs7QUFDRCxXQUFPQSxjQUFjLElBQUlDLE9BQXpCO0FBQ0EiLCJzb3VyY2VSb290IjoiLiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB0eXBlIHsgUHJvcGVydHkgfSBmcm9tIFwiQHNhcC11eC92b2NhYnVsYXJpZXMtdHlwZXNcIjtcbmltcG9ydCB0eXBlIENvbnZlcnRlckNvbnRleHQgZnJvbSBcInNhcC9mZS9jb3JlL2NvbnZlcnRlcnMvQ29udmVydGVyQ29udGV4dFwiO1xuXG5leHBvcnQgZnVuY3Rpb24gZ2V0SXNSZXF1aXJlZChjb252ZXJ0ZXJDb250ZXh0OiBDb252ZXJ0ZXJDb250ZXh0LCBzUHJvcGVydHlQYXRoOiBzdHJpbmcpOiBib29sZWFuIHtcblx0Y29uc3QgZW50aXR5U2V0QW5ub3RhdGlvbnMgPSBjb252ZXJ0ZXJDb250ZXh0LmdldEVudGl0eVNldCgpPy5hbm5vdGF0aW9ucztcblx0Y29uc3QgYVJlcXVpcmVkUHJvcGVydGllcyA9IGVudGl0eVNldEFubm90YXRpb25zPy5DYXBhYmlsaXRpZXM/LkZpbHRlclJlc3RyaWN0aW9ucz8uUmVxdWlyZWRQcm9wZXJ0aWVzIGFzIGFueVtdO1xuXHRsZXQgYklzUmVxdWlyZWQgPSBmYWxzZTtcblx0aWYgKGFSZXF1aXJlZFByb3BlcnRpZXMpIHtcblx0XHRhUmVxdWlyZWRQcm9wZXJ0aWVzLmZvckVhY2goZnVuY3Rpb24gKG9SZXF1aXJlZFByb3BlcnR5KSB7XG5cdFx0XHRpZiAoc1Byb3BlcnR5UGF0aCA9PT0gb1JlcXVpcmVkUHJvcGVydHk/LnZhbHVlKSB7XG5cdFx0XHRcdGJJc1JlcXVpcmVkID0gdHJ1ZTtcblx0XHRcdH1cblx0XHR9KTtcblx0fVxuXHRyZXR1cm4gYklzUmVxdWlyZWQ7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBpc1Byb3BlcnR5RmlsdGVyYWJsZShjb252ZXJ0ZXJDb250ZXh0OiBDb252ZXJ0ZXJDb250ZXh0LCB2YWx1ZUxpc3RQcm9wZXJ0eTogc3RyaW5nKTogYm9vbGVhbiB8IHVuZGVmaW5lZCB7XG5cdGxldCBiTm90RmlsdGVyYWJsZSwgYkhpZGRlbjtcblx0Y29uc3QgZW50aXR5VHlwZSA9IGNvbnZlcnRlckNvbnRleHQuZ2V0RW50aXR5VHlwZSgpO1xuXHRjb25zdCBlbnRpdHlTZXRBbm5vdGF0aW9ucyA9IGNvbnZlcnRlckNvbnRleHQuZ2V0RW50aXR5U2V0KCk/LmFubm90YXRpb25zO1xuXHRjb25zdCBub25GaWx0ZXJhYmxlUHJvcGVydGllcyA9IGVudGl0eVNldEFubm90YXRpb25zPy5DYXBhYmlsaXRpZXM/LkZpbHRlclJlc3RyaWN0aW9ucz8uTm9uRmlsdGVyYWJsZVByb3BlcnRpZXMgYXMgYW55W107XG5cdGNvbnN0IHByb3BlcnRpZXMgPSBlbnRpdHlUeXBlLmVudGl0eVByb3BlcnRpZXM7XG5cdHByb3BlcnRpZXMuZm9yRWFjaCgocHJvcGVydHk6IFByb3BlcnR5KSA9PiB7XG5cdFx0Y29uc3QgUHJvcGVydHlQYXRoID0gcHJvcGVydHkubmFtZTtcblx0XHRpZiAoUHJvcGVydHlQYXRoID09PSB2YWx1ZUxpc3RQcm9wZXJ0eSkge1xuXHRcdFx0YkhpZGRlbiA9IHByb3BlcnR5LmFubm90YXRpb25zPy5VST8uSGlkZGVuPy52YWx1ZU9mKCk7XG5cdFx0fVxuXHR9KTtcblx0aWYgKG5vbkZpbHRlcmFibGVQcm9wZXJ0aWVzICYmIG5vbkZpbHRlcmFibGVQcm9wZXJ0aWVzLmxlbmd0aCA+IDApIHtcblx0XHRmb3IgKGxldCBpID0gMDsgaSA8IG5vbkZpbHRlcmFibGVQcm9wZXJ0aWVzLmxlbmd0aDsgaSsrKSB7XG5cdFx0XHRjb25zdCBzUHJvcGVydHlOYW1lID0gbm9uRmlsdGVyYWJsZVByb3BlcnRpZXNbaV0/LnZhbHVlO1xuXHRcdFx0aWYgKHNQcm9wZXJ0eU5hbWUgPT09IHZhbHVlTGlzdFByb3BlcnR5KSB7XG5cdFx0XHRcdGJOb3RGaWx0ZXJhYmxlID0gdHJ1ZTtcblx0XHRcdH1cblx0XHR9XG5cdH1cblx0cmV0dXJuIGJOb3RGaWx0ZXJhYmxlIHx8IGJIaWRkZW47XG59XG4iXX0=
|
|
@@ -1,12 +1,12 @@
|
|
|
1
|
-
import
|
|
2
|
-
import
|
|
1
|
+
import type { Property } from "@sap-ux/vocabularies-types";
|
|
2
|
+
import type ConverterContext from "sap/fe/core/converters/ConverterContext";
|
|
3
3
|
|
|
4
4
|
export function getIsRequired(converterContext: ConverterContext, sPropertyPath: string): boolean {
|
|
5
5
|
const entitySetAnnotations = converterContext.getEntitySet()?.annotations;
|
|
6
6
|
const aRequiredProperties = entitySetAnnotations?.Capabilities?.FilterRestrictions?.RequiredProperties as any[];
|
|
7
7
|
let bIsRequired = false;
|
|
8
8
|
if (aRequiredProperties) {
|
|
9
|
-
aRequiredProperties.forEach(function(oRequiredProperty) {
|
|
9
|
+
aRequiredProperties.forEach(function (oRequiredProperty) {
|
|
10
10
|
if (sPropertyPath === oRequiredProperty?.value) {
|
|
11
11
|
bIsRequired = true;
|
|
12
12
|
}
|
|
@@ -2,20 +2,20 @@
|
|
|
2
2
|
* SAP UI development toolkit for HTML5 (SAPUI5)
|
|
3
3
|
* (c) Copyright 2009-2021 SAP SE. All rights reserved
|
|
4
4
|
*/
|
|
5
|
-
sap.ui.define(["
|
|
5
|
+
sap.ui.define(["sap/fe/core/converters/MetaModelConverter", "sap/fe/core/templating/DataModelPathHelper", "./PropertyHelper", "./UIFormatters"], function (MetaModelConverter, DataModelPathHelper, PropertyHelper, UIFormatters) {
|
|
6
6
|
"use strict";
|
|
7
7
|
|
|
8
8
|
var _exports = {};
|
|
9
|
+
var getConverterContext = UIFormatters.getConverterContext;
|
|
9
10
|
var getTargetObjectPath = DataModelPathHelper.getTargetObjectPath;
|
|
10
11
|
var enhanceDataModelPath = DataModelPathHelper.enhanceDataModelPath;
|
|
11
12
|
var getInvolvedDataModelObjects = MetaModelConverter.getInvolvedDataModelObjects;
|
|
12
|
-
var getConverterContext = UIFormatters.getConverterContext;
|
|
13
13
|
|
|
14
14
|
var getProperty = function (oContext, oInterface) {
|
|
15
15
|
var sPath = oInterface.context.getPath();
|
|
16
16
|
|
|
17
17
|
if (!oContext) {
|
|
18
|
-
throw new Error("Unresolved context path "
|
|
18
|
+
throw new Error("Unresolved context path ".concat(sPath));
|
|
19
19
|
}
|
|
20
20
|
|
|
21
21
|
var isPath = false;
|
|
@@ -23,7 +23,7 @@ sap.ui.define(["./PropertyHelper", "./UIFormatters", "sap/fe/core/converters/Met
|
|
|
23
23
|
if (typeof oContext === "object" && oContext.hasOwnProperty("$Path")) {
|
|
24
24
|
isPath = true;
|
|
25
25
|
} else if (typeof oContext === "object" && oContext.hasOwnProperty("$kind") && oContext.$kind !== "Property") {
|
|
26
|
-
throw new Error("Context does not resolve to a Property object but to a "
|
|
26
|
+
throw new Error("Context does not resolve to a Property object but to a ".concat(oContext.$kind));
|
|
27
27
|
}
|
|
28
28
|
|
|
29
29
|
var oConverterContext = getConverterContext(oContext, oInterface);
|
|
@@ -41,11 +41,11 @@ sap.ui.define(["./PropertyHelper", "./UIFormatters", "sap/fe/core/converters/Met
|
|
|
41
41
|
var sPath = oInterface.context.getPath();
|
|
42
42
|
|
|
43
43
|
if (!oContext) {
|
|
44
|
-
throw new Error("Unresolved context path "
|
|
44
|
+
throw new Error("Unresolved context path ".concat(sPath));
|
|
45
45
|
}
|
|
46
46
|
|
|
47
47
|
if (typeof oContext === "object" && oContext.hasOwnProperty("$kind") && oContext.$kind !== "Property") {
|
|
48
|
-
throw new Error("Context does not resolve to a Property object but to a "
|
|
48
|
+
throw new Error("Context does not resolve to a Property object but to a ".concat(oContext.$kind));
|
|
49
49
|
}
|
|
50
50
|
|
|
51
51
|
var involvedDataModelObjects = getInvolvedDataModelObjects(oInterface.context);
|
|
@@ -123,4 +123,4 @@ sap.ui.define(["./PropertyHelper", "./UIFormatters", "sap/fe/core/converters/Met
|
|
|
123
123
|
_exports.getRelativePropertyPath = getRelativePropertyPath;
|
|
124
124
|
return _exports;
|
|
125
125
|
}, false);
|
|
126
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIlByb3BlcnR5Rm9ybWF0dGVycy50cyJdLCJuYW1lcyI6WyJnZXRQcm9wZXJ0eSIsIm9Db250ZXh0Iiwib0ludGVyZmFjZSIsInNQYXRoIiwiY29udGV4dCIsImdldFBhdGgiLCJFcnJvciIsImlzUGF0aCIsImhhc093blByb3BlcnR5IiwiJGtpbmQiLCJvQ29udmVydGVyQ29udGV4dCIsImdldENvbnZlcnRlckNvbnRleHQiLCIkdGFyZ2V0IiwiZ2V0UHJvcGVydHlPYmplY3RQYXRoIiwiaW52b2x2ZWREYXRhTW9kZWxPYmplY3RzIiwiZ2V0SW52b2x2ZWREYXRhTW9kZWxPYmplY3RzIiwidGFyZ2V0T2JqZWN0IiwidHlwZSIsImVuaGFuY2VEYXRhTW9kZWxQYXRoIiwicGF0aCIsImlzS2V5Iiwib1Byb3BlcnR5IiwiUHJvcGVydHlIZWxwZXIiLCJoYXNWYWx1ZUhlbHAiLCJoYXNEYXRlVHlwZSIsImhhc1ZhbHVlSGVscFdpdGhGaXhlZFZhbHVlcyIsImhhc1VuaXRPckN1cnJlbmN5IiwiaGFzQ3VycmVuY3kiLCJoYXNVbml0IiwiZ2V0TmFtZSIsIm5hbWUiLCJnZXRMYWJlbCIsImdldFByb3BlcnR5UGF0aCIsInByb3BlcnR5UGF0aCIsImdldFRhcmdldE9iamVjdFBhdGgiLCJnZXRSZWxhdGl2ZVByb3BlcnR5UGF0aCJdLCJtYXBwaW5ncyI6IjtBQUFBO0FBQ0E7QUFDQTs7Ozs7Ozs7OztBQUlPLE1BQU1BLFdBQVcsR0FBRyxVQUFTQyxRQUFULEVBQXFDQyxVQUFyQyxFQUF3RjtBQUNsSCxRQUFNQyxLQUFLLEdBQUdELFVBQVUsQ0FBQ0UsT0FBWCxDQUFtQkMsT0FBbkIsRUFBZDs7QUFDQSxRQUFJLENBQUNKLFFBQUwsRUFBZTtBQUNkLFlBQU0sSUFBSUssS0FBSixDQUFVLDZCQUE2QkgsS0FBdkMsQ0FBTjtBQUNBOztBQUNELFFBQUlJLE1BQU0sR0FBRyxLQUFiOztBQUNBLFFBQUksT0FBT04sUUFBUCxLQUFvQixRQUFwQixJQUFnQ0EsUUFBUSxDQUFD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QixTQUFtQixHQUFHckIsV0FBVyxDQUFDQyxRQUFELEVBQVdDLFVBQVgsQ0FBdkM7QUFDQSxXQUFPb0IsY0FBYyxDQUFDSyxXQUFmLENBQTJCTixTQUEzQixLQUF5Q0MsY0FBYyxDQUFDTSxPQUFmLENBQXVCUCxTQUF2QixDQUFoRDtBQUNBLEdBSE07Ozs7QUFLQSxNQUFNUSxPQUFPLEdBQUcsVUFBUzVCLFFBQVQsRUFBcUNDLFVBQXJDLEVBQXNGO0FBQzVHLFFBQU1tQixTQUFtQixHQUFHckIsV0FBVyxDQUFDQyxRQUFELEVBQVdDLFVBQVgsQ0FBdkM7QUFDQSxXQUFPbUIsU0FBUyxDQUFDUyxJQUFqQjtBQUNBLEdBSE07Ozs7QUFLQSxNQUFNQyxRQUFRLEdBQUcsVUFBUzlCLFFBQVQsRUFBcUNDLFVBQXJDLEVBQXNGO0FBQzdHLFFBQU1tQixTQUFtQixHQUFHckIsV0FBVyxDQUFDQyxRQUFELEVBQVdDLFVBQVgsQ0FBdkM7QUFDQSxXQUFPb0IsY0FBYyxDQUFDUyxRQUFmLENBQXdCVixTQUF4QixDQUFQO0FBQ0EsR0FITTs7OztBQUtBLE1BQU1XLGVBQWUsR0FBRyxVQUFTL0IsUUFBVCxFQUFxQ0MsVUFBckMsRUFBc0Y7QUFDcEgsUUFBTStCLFlBQVksR0FBR3BCLHFCQUFxQixDQUFDWixRQUFELEVBQVdDLFVBQVgsQ0FBMUM7QUFDQSxXQUFPZ0MsbUJBQW1CLENBQUNELFlBQUQsQ0FBMUI7QUFDQSxHQUhNOzs7O0FBS0EsTUFBTUUsdUJBQXVCLEdBQUcsVUFBU2xDLFFBQVQsRUFBcUNDLFVBQXJDLEVBQXNGO0FBQzVILFFBQU0rQixZQUFZLEdBQUdwQixxQkFBcUIsQ0FBQ1osUUFBRCxFQUFXQyxVQUFYLENBQTFDO0FBQ0EsV0FBT2dDLG1CQUFtQixDQUFDRCxZQUFELEVBQWUsSUFBZixDQUExQjtBQUNBLEdBSE0iLCJzb3VyY2VSb290IjoiLiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCAqIGFzIFByb3BlcnR5SGVscGVyIGZyb20gXCIuL1Byb3BlcnR5SGVscGVyXCI7XG5pbXBvcnQgeyBnZXRDb252ZXJ0ZXJDb250ZXh0LCBNZXRhTW9kZWxDb250ZXh0LCBDb21wdXRlZEFubm90YXRpb25JbnRlcmZhY2UgfSBmcm9tIFwiLi9VSUZvcm1hdHRlcnNcIjtcbmltcG9ydCB7IFByb3BlcnR5IH0gZnJvbSBcIkBzYXAtdXgvdm9jYWJ1bGFyaWVzLXR5cGVzL2Rpc3QvQ29udmVydGVyXCI7XG5pbXBvcnQgeyBnZXRJbnZvbHZlZERhdGFNb2RlbE9iamVjdHMgfSBmcm9tIFwic2FwL2ZlL2NvcmUvY29udmVydGVycy9NZXRhTW9kZWxDb252ZXJ0ZXJcIjtcbmltcG9ydCB7IERhdGFNb2RlbE9iamVjdFBhdGgsIGVuaGFuY2VEYXRhTW9kZWxQYXRoLCBnZXRUYXJnZXRPYmplY3RQYXRoIH0gZnJvbSBcInNhcC9mZS9jb3JlL3RlbXBsYXRpbmcvRGF0YU1vZGVsUGF0aEhlbHBlclwiO1xuXG5leHBvcnQgY29uc3QgZ2V0UHJvcGVydHkgPSBmdW5jdGlvbihvQ29udGV4dDogTWV0YU1vZGVsQ29udGV4dCwgb0ludGVyZmFjZTogQ29tcHV0ZWRBbm5vdGF0aW9uSW50ZXJmYWNlKTogUHJvcGVydHkge1xuXHRjb25zdCBzUGF0aCA9IG9JbnRlcmZhY2UuY29udGV4dC5nZXRQYXRoKCk7XG5cdGlmICghb0NvbnRleHQpIHtcblx0XHR0aHJvdyBuZXcgRXJyb3IoXCJVbnJlc29sdmVkIGNvbnRleHQgcGF0aCBcIiArIHNQYXRoKTtcblx0fVxuXHRsZXQgaXNQYXRoID0gZmFsc2U7XG5cdGlmICh0eXBlb2Ygb0NvbnRleHQgPT09IFwib2JqZWN0XCIgJiYgb0NvbnRleHQuaGFzT3duUHJvcGVydHkoXCIkUGF0aFwiKSkge1xuXHRcdGlzUGF0aCA9IHRydWU7XG5cdH0gZWxzZSBpZiAodHlwZW9mIG9Db250ZXh0ID09PSBcIm9iamVjdFwiICYmIG9Db250ZXh0Lmhhc093blByb3BlcnR5KFwiJGtpbmRcIikgJiYgb0NvbnRleHQuJGtpbmQgIT09IFwiUHJvcGVydHlcIikge1xuXHRcdHRocm93IG5ldyBFcnJvcihcIkNvbnRleHQgZG9lcyBub3QgcmVzb2x2ZSB0byBhIFByb3BlcnR5IG9iamVjdCBidXQgdG8gYSBcIiArIG9Db250ZXh0LiRraW5kKTtcblx0fVxuXHRsZXQgb0NvbnZlcnRlckNvbnRleHQgPSBnZXRDb252ZXJ0ZXJDb250ZXh0KG9Db250ZXh0LCBvSW50ZXJmYWNlKSBhcyBQcm9wZXJ0eTtcblx0aWYgKGlzUGF0aCkge1xuXHRcdG9Db252ZXJ0ZXJDb250ZXh0ID0gKG9Db252ZXJ0ZXJDb250ZXh0IGFzIGFueSkuJHRhcmdldDtcblx0fVxuXHRyZXR1cm4gb0NvbnZlcnRlckNvbnRleHQ7XG59O1xuXG5leHBvcnQgY29uc3QgZ2V0UHJvcGVydHlPYmplY3RQYXRoID0gZnVuY3Rpb24oXG5cdG9Db250ZXh0OiBNZXRhTW9kZWxDb250ZXh0IHwgc3RyaW5nLFxuXHRvSW50ZXJmYWNlOiBDb21wdXRlZEFubm90YXRpb25JbnRlcmZhY2Vcbik6IERhdGFNb2RlbE9iamVjdFBhdGgge1xuXHRjb25zdCBzUGF0aCA9IG9JbnRlcmZhY2UuY29udGV4dC5nZXRQYXRoKCk7XG5cdGlmICghb0NvbnRleHQpIHtcblx0XHR0aHJvdyBuZXcgRXJyb3IoXCJVbnJlc29sdmVkIGNvbnRleHQgcGF0aCBcIiArIHNQYXRoKTtcblx0fVxuXHRpZiAodHlwZW9mIG9Db250ZXh0ID09PSBcIm9iamVjdFwiICYmIG9Db250ZXh0Lmhhc093blByb3BlcnR5KFwiJGtpbmRcIikgJiYgb0NvbnRleHQuJGtpbmQgIT09IFwiUHJvcGVydHlcIikge1xuXHRcdHRocm93IG5ldyBFcnJvcihcIkNvbnRleHQgZG9lcyBub3QgcmVzb2x2ZSB0byBhIFByb3BlcnR5IG9iamVjdCBidXQgdG8gYSBcIiArIG9Db250ZXh0LiRraW5kKTtcblx0fVxuXHRsZXQgaW52b2x2ZWREYXRhTW9kZWxPYmplY3RzID0gZ2V0SW52b2x2ZWREYXRhTW9kZWxPYmplY3RzKG9JbnRlcmZhY2UuY29udGV4dCk7XG5cdGlmIChpbnZvbHZlZERhdGFNb2RlbE9iamVjdHMudGFyZ2V0T2JqZWN0ICYmIGludm9sdmVkRGF0YU1vZGVsT2JqZWN0cy50YXJnZXRPYmplY3QudHlwZSA9PT0gXCJQYXRoXCIpIHtcblx0XHRpbnZvbHZlZERhdGFNb2RlbE9iamVjdHMgPSBlbmhhbmNlRGF0YU1vZGVsUGF0aChpbnZvbHZlZERhdGFNb2RlbE9iamVjdHMsIGludm9sdmVkRGF0YU1vZGVsT2JqZWN0cy50YXJnZXRPYmplY3QucGF0aCk7XG5cdH1cblx0cmV0dXJuIGludm9sdmVkRGF0YU1vZGVsT2JqZWN0cztcbn07XG5cbmV4cG9ydCBjb25zdCBpc0tleSA9IGZ1bmN0aW9uKG9Db250ZXh0OiBNZXRhTW9kZWxDb250ZXh0LCBvSW50ZXJmYWNlOiBDb21wdXRlZEFubm90YXRpb25JbnRlcmZhY2UpOiBib29sZWFuIHtcblx0Y29uc3Qgb1Byb3BlcnR5OiBQcm9wZXJ0eSA9IGdldFByb3BlcnR5KG9Db250ZXh0LCBvSW50ZXJmYWNlKTtcblx0cmV0dXJuIFByb3BlcnR5SGVscGVyLmlzS2V5KG9Qcm9wZXJ0eSk7XG59O1xuXG5leHBvcnQgY29uc3QgaGFzVmFsdWVIZWxwID0gZnVuY3Rpb24ob0NvbnRleHQ6IE1ldGFNb2RlbENvbnRleHQsIG9JbnRlcmZhY2U6IENvbXB1dGVkQW5ub3RhdGlvbkludGVyZmFjZSk6IGJvb2xlYW4ge1xuXHRjb25zdCBvUHJvcGVydHk6IFByb3BlcnR5ID0gZ2V0UHJvcGVydHkob0NvbnRleHQsIG9JbnRlcmZhY2UpO1xuXHRyZXR1cm4gUHJvcGVydHlIZWxwZXIuaGFzVmFsdWVIZWxwKG9Qcm9wZXJ0eSk7XG59O1xuXG5leHBvcnQgY29uc3QgaGFzRGF0ZVR5cGUgPSBmdW5jdGlvbihvQ29udGV4dDogTWV0YU1vZGVsQ29udGV4dCwgb0ludGVyZmFjZTogQ29tcHV0ZWRBbm5vdGF0aW9uSW50ZXJmYWNlKTogYm9vbGVhbiB7XG5cdGNvbnN0IG9Qcm9wZXJ0eTogUHJvcGVydHkgPSBnZXRQcm9wZXJ0eShvQ29udGV4dCwgb0ludGVyZmFjZSk7XG5cdHJldHVybiBQcm9wZXJ0eUhlbHBlci5oYXNEYXRlVHlwZShvUHJvcGVydHkpO1xufTtcblxuZXhwb3J0IGNvbnN0IGhhc1ZhbHVlSGVscFdpdGhGaXhlZFZhbHVlcyA9IGZ1bmN0aW9uKG9Db250ZXh0OiBNZXRhTW9kZWxDb250ZXh0LCBvSW50ZXJmYWNlOiBDb21wdXRlZEFubm90YXRpb25JbnRlcmZhY2UpOiBib29sZWFuIHtcblx0Y29uc3Qgb1Byb3BlcnR5OiBQcm9wZXJ0eSA9IGdldFByb3BlcnR5KG9Db250ZXh0LCBvSW50ZXJmYWNlKTtcblx0cmV0dXJuIFByb3BlcnR5SGVscGVyLmhhc1ZhbHVlSGVscFdpdGhGaXhlZFZhbHVlcyhvUHJvcGVydHkpO1xufTtcblxuZXhwb3J0IGNvbnN0IGhhc1VuaXRPckN1cnJlbmN5ID0gZnVuY3Rpb24ob0NvbnRleHQ6IE1ldGFNb2RlbENvbnRleHQsIG9JbnRlcmZhY2U6IENvbXB1dGVkQW5ub3RhdGlvbkludGVyZmFjZSk6IGJvb2xlYW4ge1xuXHRjb25zdCBvUHJvcGVydHk6IFByb3BlcnR5ID0gZ2V0UHJvcGVydHkob0NvbnRleHQsIG9JbnRlcmZhY2UpO1xuXHRyZXR1cm4gUHJvcGVydHlIZWxwZXIuaGFzQ3VycmVuY3kob1Byb3BlcnR5KSB8fCBQcm9wZXJ0eUhlbHBlci5oYXNVbml0KG9Qcm9wZXJ0eSk7XG59O1xuXG5leHBvcnQgY29uc3QgZ2V0TmFtZSA9IGZ1bmN0aW9uKG9Db250ZXh0OiBNZXRhTW9kZWxDb250ZXh0LCBvSW50ZXJmYWNlOiBDb21wdXRlZEFubm90YXRpb25JbnRlcmZhY2UpOiBzdHJpbmcge1xuXHRjb25zdCBvUHJvcGVydHk6IFByb3BlcnR5ID0gZ2V0UHJvcGVydHkob0NvbnRleHQsIG9JbnRlcmZhY2UpO1xuXHRyZXR1cm4gb1Byb3BlcnR5Lm5hbWU7XG59O1xuXG5leHBvcnQgY29uc3QgZ2V0TGFiZWwgPSBmdW5jdGlvbihvQ29udGV4dDogTWV0YU1vZGVsQ29udGV4dCwgb0ludGVyZmFjZTogQ29tcHV0ZWRBbm5vdGF0aW9uSW50ZXJmYWNlKTogc3RyaW5nIHtcblx0Y29uc3Qgb1Byb3BlcnR5OiBQcm9wZXJ0eSA9IGdldFByb3BlcnR5KG9Db250ZXh0LCBvSW50ZXJmYWNlKTtcblx0cmV0dXJuIFByb3BlcnR5SGVscGVyLmdldExhYmVsKG9Qcm9wZXJ0eSk7XG59O1xuXG5leHBvcnQgY29uc3QgZ2V0UHJvcGVydHlQYXRoID0gZnVuY3Rpb24ob0NvbnRleHQ6IE1ldGFNb2RlbENvbnRleHQsIG9JbnRlcmZhY2U6IENvbXB1dGVkQW5ub3RhdGlvbkludGVyZmFjZSk6IHN0cmluZyB7XG5cdGNvbnN0IHByb3BlcnR5UGF0aCA9IGdldFByb3BlcnR5T2JqZWN0UGF0aChvQ29udGV4dCwgb0ludGVyZmFjZSk7XG5cdHJldHVybiBnZXRUYXJnZXRPYmplY3RQYXRoKHByb3BlcnR5UGF0aCk7XG59O1xuXG5leHBvcnQgY29uc3QgZ2V0UmVsYXRpdmVQcm9wZXJ0eVBhdGggPSBmdW5jdGlvbihvQ29udGV4dDogTWV0YU1vZGVsQ29udGV4dCwgb0ludGVyZmFjZTogQ29tcHV0ZWRBbm5vdGF0aW9uSW50ZXJmYWNlKTogc3RyaW5nIHtcblx0Y29uc3QgcHJvcGVydHlQYXRoID0gZ2V0UHJvcGVydHlPYmplY3RQYXRoKG9Db250ZXh0LCBvSW50ZXJmYWNlKTtcblx0cmV0dXJuIGdldFRhcmdldE9iamVjdFBhdGgocHJvcGVydHlQYXRoLCB0cnVlKTtcbn07XG4iXX0=
|
|
126
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIlByb3BlcnR5Rm9ybWF0dGVycy50cyJdLCJuYW1lcyI6WyJnZXRQcm9wZXJ0eSIsIm9Db250ZXh0Iiwib0ludGVyZmFjZSIsInNQYXRoIiwiY29udGV4dCIsImdldFBhdGgiLCJFcnJvciIsImlzUGF0aCIsImhhc093blByb3BlcnR5IiwiJGtpbmQiLCJvQ29udmVydGVyQ29udGV4dCIsImdldENvbnZlcnRlckNvbnRleHQiLCIkdGFyZ2V0IiwiZ2V0UHJvcGVydHlPYmplY3RQYXRoIiwiaW52b2x2ZWREYXRhTW9kZWxPYmplY3RzIiwiZ2V0SW52b2x2ZWREYXRhTW9kZWxPYmplY3RzIiwidGFyZ2V0T2JqZWN0IiwidHlwZSIsImVuaGFuY2VEYXRhTW9kZWxQYXRoIiwicGF0aCIsImlzS2V5Iiwib1Byb3BlcnR5IiwiUHJvcGVydHlIZWxwZXIiLCJoYXNWYWx1ZUhlbHAiLCJoYXNEYXRlVHlwZSIsImhhc1ZhbHVlSGVscFdpdGhGaXhlZFZhbHVlcyIsImhhc1VuaXRPckN1cnJlbmN5IiwiaGFzQ3VycmVuY3kiLCJoYXNVbml0IiwiZ2V0TmFtZSIsIm5hbWUiLCJnZXRMYWJlbCIsImdldFByb3BlcnR5UGF0aCIsInByb3BlcnR5UGF0aCIsImdldFRhcmdldE9iamVjdFBhdGgiLCJnZXRSZWxhdGl2ZVByb3BlcnR5UGF0aCJdLCJtYXBwaW5ncyI6IjtBQUFBO0FBQ0E7QUFDQTs7Ozs7Ozs7OztBQU1PLE1BQU1BLFdBQVcsR0FBRyxVQUFVQyxRQUFWLEVBQXNDQyxVQUF0QyxFQUF5RjtBQUNuSCxRQUFNQyxLQUFLLEdBQUdELFVBQVUsQ0FBQ0UsT0FBWCxDQUFtQkMsT0FBbkIsRUFBZDs7QUFDQSxRQUFJLENBQUNKLFFBQUwsRUFBZTtBQUNkLFlBQU0sSUFBSUssS0FBSixtQ0FBcUNILEtBQXJDLEVBQU47QUFDQTs7QUFDRCxRQUFJSSxNQUFNLEdBQUcsS0FBYjs7QUFDQSxRQUFJLE9BQU9OLFFBQVAsS0FBb0IsUUFBcEIsSUFBZ0NBLFFBQVEsQ0FBQ08sY0FB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Q0FBQ0MsUUFBRCxFQUFXQyxVQUFYLENBQXZDO0FBQ0EsV0FBT29CLGNBQWMsQ0FBQ0ssV0FBZixDQUEyQk4sU0FBM0IsS0FBeUNDLGNBQWMsQ0FBQ00sT0FBZixDQUF1QlAsU0FBdkIsQ0FBaEQ7QUFDQSxHQUhNOzs7O0FBS0EsTUFBTVEsT0FBTyxHQUFHLFVBQVU1QixRQUFWLEVBQXNDQyxVQUF0QyxFQUF1RjtBQUM3RyxRQUFNbUIsU0FBbUIsR0FBR3JCLFdBQVcsQ0FBQ0MsUUFBRCxFQUFXQyxVQUFYLENBQXZDO0FBQ0EsV0FBT21CLFNBQVMsQ0FBQ1MsSUFBakI7QUFDQSxHQUhNOzs7O0FBS0EsTUFBTUMsUUFBUSxHQUFHLFVBQVU5QixRQUFWLEVBQXNDQyxVQUF0QyxFQUF1RjtBQUM5RyxRQUFNbUIsU0FBbUIsR0FBR3JCLFdBQVcsQ0FBQ0MsUUFBRCxFQUFXQyxVQUFYLENBQXZDO0FBQ0EsV0FBT29CLGNBQWMsQ0FBQ1MsUUFBZixDQUF3QlYsU0FBeEIsQ0FBUDtBQUNBLEdBSE07Ozs7QUFLQSxNQUFNVyxlQUFlLEdBQUcsVUFBVS9CLFFBQVYsRUFBc0NDLFVBQXRDLEVBQXVGO0FBQ3JILFFBQU0rQixZQUFZLEdBQUdwQixxQkFBcUIsQ0FBQ1osUUFBRCxFQUFXQyxVQUFYLENBQTFDO0FBQ0EsV0FBT2dDLG1CQUFtQixDQUFDRCxZQUFELENBQTFCO0FBQ0EsR0FITTs7OztBQUtBLE1BQU1FLHVCQUF1QixHQUFHLFVBQVVsQyxRQUFWLEVBQXNDQyxVQUF0QyxFQUF1RjtBQUM3SCxRQUFNK0IsWUFBWSxHQUFHcEIscUJBQXFCLENBQUNaLFFBQUQsRUFBV0MsVUFBWCxDQUExQztBQUNBLFdBQU9nQyxtQkFBbUIsQ0FBQ0QsWUFBRCxFQUFlLElBQWYsQ0FBMUI7QUFDQSxHQUhNIiwic291cmNlUm9vdCI6Ii4iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgdHlwZSB7IFByb3BlcnR5IH0gZnJvbSBcIkBzYXAtdXgvdm9jYWJ1bGFyaWVzLXR5cGVzXCI7XG5pbXBvcnQgeyBnZXRJbnZvbHZlZERhdGFNb2RlbE9iamVjdHMgfSBmcm9tIFwic2FwL2ZlL2NvcmUvY29udmVydGVycy9NZXRhTW9kZWxDb252ZXJ0ZXJcIjtcbmltcG9ydCB0eXBlIHsgRGF0YU1vZGVsT2JqZWN0UGF0aCB9IGZyb20gXCJzYXAvZmUvY29yZS90ZW1wbGF0aW5nL0RhdGFNb2RlbFBhdGhIZWxwZXJcIjtcbmltcG9ydCB7IGVuaGFuY2VEYXRhTW9kZWxQYXRoLCBnZXRUYXJnZXRPYmplY3RQYXRoIH0gZnJvbSBcInNhcC9mZS9jb3JlL3RlbXBsYXRpbmcvRGF0YU1vZGVsUGF0aEhlbHBlclwiO1xuaW1wb3J0ICogYXMgUHJvcGVydHlIZWxwZXIgZnJvbSBcIi4vUHJvcGVydHlIZWxwZXJcIjtcbmltcG9ydCB0eXBlIHsgQ29tcHV0ZWRBbm5vdGF0aW9uSW50ZXJmYWNlLCBNZXRhTW9kZWxDb250ZXh0IH0gZnJvbSBcIi4vVUlGb3JtYXR0ZXJzXCI7XG5pbXBvcnQgeyBnZXRDb252ZXJ0ZXJDb250ZXh0IH0gZnJvbSBcIi4vVUlGb3JtYXR0ZXJzXCI7XG5cbmV4cG9ydCBjb25zdCBnZXRQcm9wZXJ0eSA9IGZ1bmN0aW9uIChvQ29udGV4dDogTWV0YU1vZGVsQ29udGV4dCwgb0ludGVyZmFjZTogQ29tcHV0ZWRBbm5vdGF0aW9uSW50ZXJmYWNlKTogUHJvcGVydHkge1xuXHRjb25zdCBzUGF0aCA9IG9JbnRlcmZhY2UuY29udGV4dC5nZXRQYXRoKCk7XG5cdGlmICghb0NvbnRleHQpIHtcblx0XHR0aHJvdyBuZXcgRXJyb3IoYFVucmVzb2x2ZWQgY29udGV4dCBwYXRoICR7c1BhdGh9YCk7XG5cdH1cblx0bGV0IGlzUGF0aCA9IGZhbHNlO1xuXHRpZiAodHlwZW9mIG9Db250ZXh0ID09PSBcIm9iamVjdFwiICYmIG9Db250ZXh0Lmhhc093blByb3BlcnR5KFwiJFBhdGhcIikpIHtcblx0XHRpc1BhdGggPSB0cnVlO1xuXHR9IGVsc2UgaWYgKHR5cGVvZiBvQ29udGV4dCA9PT0gXCJvYmplY3RcIiAmJiBvQ29udGV4dC5oYXNPd25Qcm9wZXJ0eShcIiRraW5kXCIpICYmIG9Db250ZXh0LiRraW5kICE9PSBcIlByb3BlcnR5XCIpIHtcblx0XHR0aHJvdyBuZXcgRXJyb3IoYENvbnRleHQgZG9lcyBub3QgcmVzb2x2ZSB0byBhIFByb3BlcnR5IG9iamVjdCBidXQgdG8gYSAke29Db250ZXh0LiRraW5kfWApO1xuXHR9XG5cdGxldCBvQ29udmVydGVyQ29udGV4dCA9IGdldENvbnZlcnRlckNvbnRleHQob0NvbnRleHQsIG9JbnRlcmZhY2UpIGFzIFByb3BlcnR5O1xuXHRpZiAoaXNQYXRoKSB7XG5cdFx0b0NvbnZlcnRlckNvbnRleHQgPSAob0NvbnZlcnRlckNvbnRleHQgYXMgYW55KS4kdGFyZ2V0O1xuXHR9XG5cdHJldHVybiBvQ29udmVydGVyQ29udGV4dDtcbn07XG5cbmV4cG9ydCBjb25zdCBnZXRQcm9wZXJ0eU9iamVjdFBhdGggPSBmdW5jdGlvbiAoXG5cdG9Db250ZXh0OiBNZXRhTW9kZWxDb250ZXh0IHwgc3RyaW5nLFxuXHRvSW50ZXJmYWNlOiBDb21wdXRlZEFubm90YXRpb25JbnRlcmZhY2Vcbik6IERhdGFNb2RlbE9iamVjdFBhdGgge1xuXHRjb25zdCBzUGF0aCA9IG9JbnRlcmZhY2UuY29udGV4dC5nZXRQYXRoKCk7XG5cdGlmICghb0NvbnRleHQpIHtcblx0XHR0aHJvdyBuZXcgRXJyb3IoYFVucmVzb2x2ZWQgY29udGV4dCBwYXRoICR7c1BhdGh9YCk7XG5cdH1cblx0aWYgKHR5cGVvZiBvQ29udGV4dCA9PT0gXCJvYmplY3RcIiAmJiBvQ29udGV4dC5oYXNPd25Qcm9wZXJ0eShcIiRraW5kXCIpICYmIG9Db250ZXh0LiRraW5kICE9PSBcIlByb3BlcnR5XCIpIHtcblx0XHR0aHJvdyBuZXcgRXJyb3IoYENvbnRleHQgZG9lcyBub3QgcmVzb2x2ZSB0byBhIFByb3BlcnR5IG9iamVjdCBidXQgdG8gYSAke29Db250ZXh0LiRraW5kfWApO1xuXHR9XG5cdGxldCBpbnZvbHZlZERhdGFNb2RlbE9iamVjdHMgPSBnZXRJbnZvbHZlZERhdGFNb2RlbE9iamVjdHMob0ludGVyZmFjZS5jb250ZXh0KTtcblx0aWYgKGludm9sdmVkRGF0YU1vZGVsT2JqZWN0cy50YXJnZXRPYmplY3QgJiYgaW52b2x2ZWREYXRhTW9kZWxPYmplY3RzLnRhcmdldE9iamVjdC50eXBlID09PSBcIlBhdGhcIikge1xuXHRcdGludm9sdmVkRGF0YU1vZGVsT2JqZWN0cyA9IGVuaGFuY2VEYXRhTW9kZWxQYXRoKGludm9sdmVkRGF0YU1vZGVsT2JqZWN0cywgaW52b2x2ZWREYXRhTW9kZWxPYmplY3RzLnRhcmdldE9iamVjdC5wYXRoKTtcblx0fVxuXHRyZXR1cm4gaW52b2x2ZWREYXRhTW9kZWxPYmplY3RzO1xufTtcblxuZXhwb3J0IGNvbnN0IGlzS2V5ID0gZnVuY3Rpb24gKG9Db250ZXh0OiBNZXRhTW9kZWxDb250ZXh0LCBvSW50ZXJmYWNlOiBDb21wdXRlZEFubm90YXRpb25JbnRlcmZhY2UpOiBib29sZWFuIHtcblx0Y29uc3Qgb1Byb3BlcnR5OiBQcm9wZXJ0eSA9IGdldFByb3BlcnR5KG9Db250ZXh0LCBvSW50ZXJmYWNlKTtcblx0cmV0dXJuIFByb3BlcnR5SGVscGVyLmlzS2V5KG9Qcm9wZXJ0eSk7XG59O1xuXG5leHBvcnQgY29uc3QgaGFzVmFsdWVIZWxwID0gZnVuY3Rpb24gKG9Db250ZXh0OiBNZXRhTW9kZWxDb250ZXh0LCBvSW50ZXJmYWNlOiBDb21wdXRlZEFubm90YXRpb25JbnRlcmZhY2UpOiBib29sZWFuIHtcblx0Y29uc3Qgb1Byb3BlcnR5OiBQcm9wZXJ0eSA9IGdldFByb3BlcnR5KG9Db250ZXh0LCBvSW50ZXJmYWNlKTtcblx0cmV0dXJuIFByb3BlcnR5SGVscGVyLmhhc1ZhbHVlSGVscChvUHJvcGVydHkpO1xufTtcblxuZXhwb3J0IGNvbnN0IGhhc0RhdGVUeXBlID0gZnVuY3Rpb24gKG9Db250ZXh0OiBNZXRhTW9kZWxDb250ZXh0LCBvSW50ZXJmYWNlOiBDb21wdXRlZEFubm90YXRpb25JbnRlcmZhY2UpOiBib29sZWFuIHtcblx0Y29uc3Qgb1Byb3BlcnR5OiBQcm9wZXJ0eSA9IGdldFByb3BlcnR5KG9Db250ZXh0LCBvSW50ZXJmYWNlKTtcblx0cmV0dXJuIFByb3BlcnR5SGVscGVyLmhhc0RhdGVUeXBlKG9Qcm9wZXJ0eSk7XG59O1xuXG5leHBvcnQgY29uc3QgaGFzVmFsdWVIZWxwV2l0aEZpeGVkVmFsdWVzID0gZnVuY3Rpb24gKG9Db250ZXh0OiBNZXRhTW9kZWxDb250ZXh0LCBvSW50ZXJmYWNlOiBDb21wdXRlZEFubm90YXRpb25JbnRlcmZhY2UpOiBib29sZWFuIHtcblx0Y29uc3Qgb1Byb3BlcnR5OiBQcm9wZXJ0eSA9IGdldFByb3BlcnR5KG9Db250ZXh0LCBvSW50ZXJmYWNlKTtcblx0cmV0dXJuIFByb3BlcnR5SGVscGVyLmhhc1ZhbHVlSGVscFdpdGhGaXhlZFZhbHVlcyhvUHJvcGVydHkpO1xufTtcblxuZXhwb3J0IGNvbnN0IGhhc1VuaXRPckN1cnJlbmN5ID0gZnVuY3Rpb24gKG9Db250ZXh0OiBNZXRhTW9kZWxDb250ZXh0LCBvSW50ZXJmYWNlOiBDb21wdXRlZEFubm90YXRpb25JbnRlcmZhY2UpOiBib29sZWFuIHtcblx0Y29uc3Qgb1Byb3BlcnR5OiBQcm9wZXJ0eSA9IGdldFByb3BlcnR5KG9Db250ZXh0LCBvSW50ZXJmYWNlKTtcblx0cmV0dXJuIFByb3BlcnR5SGVscGVyLmhhc0N1cnJlbmN5KG9Qcm9wZXJ0eSkgfHwgUHJvcGVydHlIZWxwZXIuaGFzVW5pdChvUHJvcGVydHkpO1xufTtcblxuZXhwb3J0IGNvbnN0IGdldE5hbWUgPSBmdW5jdGlvbiAob0NvbnRleHQ6IE1ldGFNb2RlbENvbnRleHQsIG9JbnRlcmZhY2U6IENvbXB1dGVkQW5ub3RhdGlvbkludGVyZmFjZSk6IHN0cmluZyB7XG5cdGNvbnN0IG9Qcm9wZXJ0eTogUHJvcGVydHkgPSBnZXRQcm9wZXJ0eShvQ29udGV4dCwgb0ludGVyZmFjZSk7XG5cdHJldHVybiBvUHJvcGVydHkubmFtZTtcbn07XG5cbmV4cG9ydCBjb25zdCBnZXRMYWJlbCA9IGZ1bmN0aW9uIChvQ29udGV4dDogTWV0YU1vZGVsQ29udGV4dCwgb0ludGVyZmFjZTogQ29tcHV0ZWRBbm5vdGF0aW9uSW50ZXJmYWNlKTogc3RyaW5nIHtcblx0Y29uc3Qgb1Byb3BlcnR5OiBQcm9wZXJ0eSA9IGdldFByb3BlcnR5KG9Db250ZXh0LCBvSW50ZXJmYWNlKTtcblx0cmV0dXJuIFByb3BlcnR5SGVscGVyLmdldExhYmVsKG9Qcm9wZXJ0eSk7XG59O1xuXG5leHBvcnQgY29uc3QgZ2V0UHJvcGVydHlQYXRoID0gZnVuY3Rpb24gKG9Db250ZXh0OiBNZXRhTW9kZWxDb250ZXh0LCBvSW50ZXJmYWNlOiBDb21wdXRlZEFubm90YXRpb25JbnRlcmZhY2UpOiBzdHJpbmcge1xuXHRjb25zdCBwcm9wZXJ0eVBhdGggPSBnZXRQcm9wZXJ0eU9iamVjdFBhdGgob0NvbnRleHQsIG9JbnRlcmZhY2UpO1xuXHRyZXR1cm4gZ2V0VGFyZ2V0T2JqZWN0UGF0aChwcm9wZXJ0eVBhdGgpO1xufTtcblxuZXhwb3J0IGNvbnN0IGdldFJlbGF0aXZlUHJvcGVydHlQYXRoID0gZnVuY3Rpb24gKG9Db250ZXh0OiBNZXRhTW9kZWxDb250ZXh0LCBvSW50ZXJmYWNlOiBDb21wdXRlZEFubm90YXRpb25JbnRlcmZhY2UpOiBzdHJpbmcge1xuXHRjb25zdCBwcm9wZXJ0eVBhdGggPSBnZXRQcm9wZXJ0eU9iamVjdFBhdGgob0NvbnRleHQsIG9JbnRlcmZhY2UpO1xuXHRyZXR1cm4gZ2V0VGFyZ2V0T2JqZWN0UGF0aChwcm9wZXJ0eVBhdGgsIHRydWUpO1xufTtcbiJdfQ==
|
|
@@ -1,19 +1,21 @@
|
|
|
1
|
-
import
|
|
2
|
-
import { getConverterContext, MetaModelContext, ComputedAnnotationInterface } from "./UIFormatters";
|
|
3
|
-
import { Property } from "@sap-ux/vocabularies-types/dist/Converter";
|
|
1
|
+
import type { Property } from "@sap-ux/vocabularies-types";
|
|
4
2
|
import { getInvolvedDataModelObjects } from "sap/fe/core/converters/MetaModelConverter";
|
|
5
|
-
import { DataModelObjectPath
|
|
3
|
+
import type { DataModelObjectPath } from "sap/fe/core/templating/DataModelPathHelper";
|
|
4
|
+
import { enhanceDataModelPath, getTargetObjectPath } from "sap/fe/core/templating/DataModelPathHelper";
|
|
5
|
+
import * as PropertyHelper from "./PropertyHelper";
|
|
6
|
+
import type { ComputedAnnotationInterface, MetaModelContext } from "./UIFormatters";
|
|
7
|
+
import { getConverterContext } from "./UIFormatters";
|
|
6
8
|
|
|
7
|
-
export const getProperty = function(oContext: MetaModelContext, oInterface: ComputedAnnotationInterface): Property {
|
|
9
|
+
export const getProperty = function (oContext: MetaModelContext, oInterface: ComputedAnnotationInterface): Property {
|
|
8
10
|
const sPath = oInterface.context.getPath();
|
|
9
11
|
if (!oContext) {
|
|
10
|
-
throw new Error(
|
|
12
|
+
throw new Error(`Unresolved context path ${sPath}`);
|
|
11
13
|
}
|
|
12
14
|
let isPath = false;
|
|
13
15
|
if (typeof oContext === "object" && oContext.hasOwnProperty("$Path")) {
|
|
14
16
|
isPath = true;
|
|
15
17
|
} else if (typeof oContext === "object" && oContext.hasOwnProperty("$kind") && oContext.$kind !== "Property") {
|
|
16
|
-
throw new Error(
|
|
18
|
+
throw new Error(`Context does not resolve to a Property object but to a ${oContext.$kind}`);
|
|
17
19
|
}
|
|
18
20
|
let oConverterContext = getConverterContext(oContext, oInterface) as Property;
|
|
19
21
|
if (isPath) {
|
|
@@ -22,16 +24,16 @@ export const getProperty = function(oContext: MetaModelContext, oInterface: Comp
|
|
|
22
24
|
return oConverterContext;
|
|
23
25
|
};
|
|
24
26
|
|
|
25
|
-
export const getPropertyObjectPath = function(
|
|
27
|
+
export const getPropertyObjectPath = function (
|
|
26
28
|
oContext: MetaModelContext | string,
|
|
27
29
|
oInterface: ComputedAnnotationInterface
|
|
28
30
|
): DataModelObjectPath {
|
|
29
31
|
const sPath = oInterface.context.getPath();
|
|
30
32
|
if (!oContext) {
|
|
31
|
-
throw new Error(
|
|
33
|
+
throw new Error(`Unresolved context path ${sPath}`);
|
|
32
34
|
}
|
|
33
35
|
if (typeof oContext === "object" && oContext.hasOwnProperty("$kind") && oContext.$kind !== "Property") {
|
|
34
|
-
throw new Error(
|
|
36
|
+
throw new Error(`Context does not resolve to a Property object but to a ${oContext.$kind}`);
|
|
35
37
|
}
|
|
36
38
|
let involvedDataModelObjects = getInvolvedDataModelObjects(oInterface.context);
|
|
37
39
|
if (involvedDataModelObjects.targetObject && involvedDataModelObjects.targetObject.type === "Path") {
|
|
@@ -40,47 +42,47 @@ export const getPropertyObjectPath = function(
|
|
|
40
42
|
return involvedDataModelObjects;
|
|
41
43
|
};
|
|
42
44
|
|
|
43
|
-
export const isKey = function(oContext: MetaModelContext, oInterface: ComputedAnnotationInterface): boolean {
|
|
45
|
+
export const isKey = function (oContext: MetaModelContext, oInterface: ComputedAnnotationInterface): boolean {
|
|
44
46
|
const oProperty: Property = getProperty(oContext, oInterface);
|
|
45
47
|
return PropertyHelper.isKey(oProperty);
|
|
46
48
|
};
|
|
47
49
|
|
|
48
|
-
export const hasValueHelp = function(oContext: MetaModelContext, oInterface: ComputedAnnotationInterface): boolean {
|
|
50
|
+
export const hasValueHelp = function (oContext: MetaModelContext, oInterface: ComputedAnnotationInterface): boolean {
|
|
49
51
|
const oProperty: Property = getProperty(oContext, oInterface);
|
|
50
52
|
return PropertyHelper.hasValueHelp(oProperty);
|
|
51
53
|
};
|
|
52
54
|
|
|
53
|
-
export const hasDateType = function(oContext: MetaModelContext, oInterface: ComputedAnnotationInterface): boolean {
|
|
55
|
+
export const hasDateType = function (oContext: MetaModelContext, oInterface: ComputedAnnotationInterface): boolean {
|
|
54
56
|
const oProperty: Property = getProperty(oContext, oInterface);
|
|
55
57
|
return PropertyHelper.hasDateType(oProperty);
|
|
56
58
|
};
|
|
57
59
|
|
|
58
|
-
export const hasValueHelpWithFixedValues = function(oContext: MetaModelContext, oInterface: ComputedAnnotationInterface): boolean {
|
|
60
|
+
export const hasValueHelpWithFixedValues = function (oContext: MetaModelContext, oInterface: ComputedAnnotationInterface): boolean {
|
|
59
61
|
const oProperty: Property = getProperty(oContext, oInterface);
|
|
60
62
|
return PropertyHelper.hasValueHelpWithFixedValues(oProperty);
|
|
61
63
|
};
|
|
62
64
|
|
|
63
|
-
export const hasUnitOrCurrency = function(oContext: MetaModelContext, oInterface: ComputedAnnotationInterface): boolean {
|
|
65
|
+
export const hasUnitOrCurrency = function (oContext: MetaModelContext, oInterface: ComputedAnnotationInterface): boolean {
|
|
64
66
|
const oProperty: Property = getProperty(oContext, oInterface);
|
|
65
67
|
return PropertyHelper.hasCurrency(oProperty) || PropertyHelper.hasUnit(oProperty);
|
|
66
68
|
};
|
|
67
69
|
|
|
68
|
-
export const getName = function(oContext: MetaModelContext, oInterface: ComputedAnnotationInterface): string {
|
|
70
|
+
export const getName = function (oContext: MetaModelContext, oInterface: ComputedAnnotationInterface): string {
|
|
69
71
|
const oProperty: Property = getProperty(oContext, oInterface);
|
|
70
72
|
return oProperty.name;
|
|
71
73
|
};
|
|
72
74
|
|
|
73
|
-
export const getLabel = function(oContext: MetaModelContext, oInterface: ComputedAnnotationInterface): string {
|
|
75
|
+
export const getLabel = function (oContext: MetaModelContext, oInterface: ComputedAnnotationInterface): string {
|
|
74
76
|
const oProperty: Property = getProperty(oContext, oInterface);
|
|
75
77
|
return PropertyHelper.getLabel(oProperty);
|
|
76
78
|
};
|
|
77
79
|
|
|
78
|
-
export const getPropertyPath = function(oContext: MetaModelContext, oInterface: ComputedAnnotationInterface): string {
|
|
80
|
+
export const getPropertyPath = function (oContext: MetaModelContext, oInterface: ComputedAnnotationInterface): string {
|
|
79
81
|
const propertyPath = getPropertyObjectPath(oContext, oInterface);
|
|
80
82
|
return getTargetObjectPath(propertyPath);
|
|
81
83
|
};
|
|
82
84
|
|
|
83
|
-
export const getRelativePropertyPath = function(oContext: MetaModelContext, oInterface: ComputedAnnotationInterface): string {
|
|
85
|
+
export const getRelativePropertyPath = function (oContext: MetaModelContext, oInterface: ComputedAnnotationInterface): string {
|
|
84
86
|
const propertyPath = getPropertyObjectPath(oContext, oInterface);
|
|
85
87
|
return getTargetObjectPath(propertyPath, true);
|
|
86
88
|
};
|
|
@@ -10,8 +10,8 @@ sap.ui.define([], function () {
|
|
|
10
10
|
/**
|
|
11
11
|
* Identify if the given property passed is a "Property" (has a _type).
|
|
12
12
|
*
|
|
13
|
-
* @param
|
|
14
|
-
* @returns
|
|
13
|
+
* @param property A target property to evaluate
|
|
14
|
+
* @returns Validate that property is a Property
|
|
15
15
|
*/
|
|
16
16
|
function isProperty(property) {
|
|
17
17
|
return property && property.hasOwnProperty("_type") && property._type === "Property";
|
|
@@ -19,8 +19,8 @@ sap.ui.define([], function () {
|
|
|
19
19
|
/**
|
|
20
20
|
* Check whether the property has the Core.Computed annotation or not.
|
|
21
21
|
*
|
|
22
|
-
* @param
|
|
23
|
-
* @returns
|
|
22
|
+
* @param oProperty The target property
|
|
23
|
+
* @returns `true` if the property is computed
|
|
24
24
|
*/
|
|
25
25
|
|
|
26
26
|
|
|
@@ -34,8 +34,8 @@ sap.ui.define([], function () {
|
|
|
34
34
|
/**
|
|
35
35
|
* Check whether the property has the Core.Immutable annotation or not.
|
|
36
36
|
*
|
|
37
|
-
* @param
|
|
38
|
-
* @returns
|
|
37
|
+
* @param oProperty The target property
|
|
38
|
+
* @returns `true` if it's immutable
|
|
39
39
|
*/
|
|
40
40
|
|
|
41
41
|
|
|
@@ -49,8 +49,8 @@ sap.ui.define([], function () {
|
|
|
49
49
|
/**
|
|
50
50
|
* Check whether the property is a key or not.
|
|
51
51
|
*
|
|
52
|
-
* @param
|
|
53
|
-
* @returns
|
|
52
|
+
* @param oProperty The target property
|
|
53
|
+
* @returns `true` if it's a key
|
|
54
54
|
*/
|
|
55
55
|
|
|
56
56
|
|
|
@@ -90,8 +90,8 @@ sap.ui.define([], function () {
|
|
|
90
90
|
/**
|
|
91
91
|
* Check whether the property has a semantic object defined or not.
|
|
92
92
|
*
|
|
93
|
-
* @param
|
|
94
|
-
* @returns
|
|
93
|
+
* @param oProperty The target property
|
|
94
|
+
* @returns `true` if it has a semantic object
|
|
95
95
|
*/
|
|
96
96
|
|
|
97
97
|
|
|
@@ -123,8 +123,8 @@ sap.ui.define([], function () {
|
|
|
123
123
|
/**
|
|
124
124
|
* Retrieves the timezone property associated to the property, if applicable.
|
|
125
125
|
*
|
|
126
|
-
* @param
|
|
127
|
-
* @returns
|
|
126
|
+
* @param oProperty The target property
|
|
127
|
+
* @returns The timezone property, if it exists
|
|
128
128
|
*/
|
|
129
129
|
|
|
130
130
|
|
|
@@ -138,8 +138,8 @@ sap.ui.define([], function () {
|
|
|
138
138
|
/**
|
|
139
139
|
* Retrieves the unit property associated to the property, if applicable.
|
|
140
140
|
*
|
|
141
|
-
* @param
|
|
142
|
-
* @returns
|
|
141
|
+
* @param oProperty The target property
|
|
142
|
+
* @returns The unit property, if it exists
|
|
143
143
|
*/
|
|
144
144
|
|
|
145
145
|
|
|
@@ -161,8 +161,8 @@ sap.ui.define([], function () {
|
|
|
161
161
|
/**
|
|
162
162
|
* Retrieves the associated currency property for that property if it exists.
|
|
163
163
|
*
|
|
164
|
-
* @param
|
|
165
|
-
* @returns
|
|
164
|
+
* @param oProperty The target property
|
|
165
|
+
* @returns The unit property, if it exists
|
|
166
166
|
*/
|
|
167
167
|
|
|
168
168
|
|
|
@@ -184,8 +184,8 @@ sap.ui.define([], function () {
|
|
|
184
184
|
/**
|
|
185
185
|
* Retrieves the Common.Text property path if it exists.
|
|
186
186
|
*
|
|
187
|
-
* @param
|
|
188
|
-
* @returns
|
|
187
|
+
* @param oProperty The target property
|
|
188
|
+
* @returns The Common.Text property path or undefined if it does not exist
|
|
189
189
|
*/
|
|
190
190
|
|
|
191
191
|
|
|
@@ -215,8 +215,8 @@ sap.ui.define([], function () {
|
|
|
215
215
|
/**
|
|
216
216
|
* Check whether the property has a value help annotation defined or not.
|
|
217
217
|
*
|
|
218
|
-
* @param
|
|
219
|
-
* @returns
|
|
218
|
+
* @param oProperty The target property
|
|
219
|
+
* @returns `true` if it has a value help
|
|
220
220
|
*/
|
|
221
221
|
|
|
222
222
|
|
|
@@ -230,8 +230,8 @@ sap.ui.define([], function () {
|
|
|
230
230
|
/**
|
|
231
231
|
* Check whether the property has a value help with fixed value annotation defined or not.
|
|
232
232
|
*
|
|
233
|
-
* @param
|
|
234
|
-
* @returns
|
|
233
|
+
* @param oProperty The target property
|
|
234
|
+
* @returns `true` if it has a value help
|
|
235
235
|
*/
|
|
236
236
|
|
|
237
237
|
|
|
@@ -245,8 +245,8 @@ sap.ui.define([], function () {
|
|
|
245
245
|
/**
|
|
246
246
|
* Check whether the property has a value help for validation annotation defined or not.
|
|
247
247
|
*
|
|
248
|
-
* @param
|
|
249
|
-
* @returns
|
|
248
|
+
* @param oProperty The target property
|
|
249
|
+
* @returns `true` if it has a value help
|
|
250
250
|
*/
|
|
251
251
|
|
|
252
252
|
|
|
@@ -337,4 +337,4 @@ sap.ui.define([], function () {
|
|
|
337
337
|
_exports.hasStaticPercentUnit = hasStaticPercentUnit;
|
|
338
338
|
return _exports;
|
|
339
339
|
}, false);
|
|
340
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIlByb3BlcnR5SGVscGVyLnRzIl0sIm5hbWVzIjpbImlzUHJvcGVydHkiLCJwcm9wZXJ0eSIsImhhc093blByb3BlcnR5IiwiX3R5cGUiLCJpc0NvbXB1dGVkIiwib1Byb3BlcnR5IiwiYW5ub3RhdGlvbnMiLCJDb3JlIiwiQ29tcHV0ZWQiLCJ2YWx1ZU9mIiwiaXNJbW11dGFibGUiLCJJbW11dGFibGUiLCJpc0tleSIsImhhc0RhdGVUeXBlIiwiaW5kZXhPZiIsInR5cGUiLCJnZXRMYWJlbCIsIkNvbW1vbiIsIkxhYmVsIiwidG9TdHJpbmciLCJoYXNTZW1hbnRpY09iamVjdCIsIlNlbWFudGljT2JqZWN0IiwiaXNQYXRoRXhwcmVzc2lvbiIsImV4cHJlc3Npb24iLCJ1bmRlZmluZWQiLCJpc1Byb3BlcnR5UGF0aEV4cHJlc3Npb24iLCJpc0Fubm90YXRpb25QYXRoRXhwcmVzc2lvbiIsImdldEFzc29jaWF0ZWRUaW1lem9uZVByb3BlcnR5IiwiVGltZXpvbmUiLCIkdGFyZ2V0IiwiZ2V0QXNzb2NpYXRlZFVuaXRQcm9wZXJ0eSIsIk1lYXN1cmVzIiwiVW5pdCIsImdldEFzc29jaWF0ZWRVbml0UHJvcGVydHlQYXRoIiwicGF0aCIsImdldEFzc29jaWF0ZWRDdXJyZW5jeVByb3BlcnR5IiwiSVNPQ3VycmVuY3kiLCJnZXRBc3NvY2lhdGVkQ3VycmVuY3lQcm9wZXJ0eVBhdGgiLCJnZXRBc3NvY2lhdGVkVGV4dFByb3BlcnR5UGF0aCIsIlRleHQiLCJnZXRUYXJnZXRWYWx1ZU9uRGF0YVBvaW50Iiwic1RhcmdldFZhbHVlIiwiVUkiLCJEYXRhRmllbGREZWZhdWx0IiwiVGFyZ2V0IiwiVGFyZ2V0VmFsdWUiLCJoYXNWYWx1ZUhlbHAiLCJWYWx1ZUxpc3QiLCJWYWx1ZUxpc3RSZWZlcmVuY2VzIiwiVmFsdWVMaXN0V2l0aEZpeGVkVmFsdWVzIiwiVmFsdWVMaXN0TWFwcGluZyIsImhhc1ZhbHVlSGVscFdpdGhGaXhlZFZhbHVlcyIsImhhc1ZhbHVlTGlzdEZvclZhbGlkYXRpb24iLCJWYWx1ZUxpc3RGb3JWYWxpZGF0aW9uIiwiaGFzVGltZXpvbmUiLCJpc1VuaXQiLCJJc1VuaXQiLCJoYXNVbml0IiwiaXNDdXJyZW5jeSIsIklzQ3VycmVuY3kiLCJoYXNDdXJyZW5jeSIsImhhc1N0YXRpY1BlcmNlbnRVbml0Il0sIm1hcHBpbmdzIjoiO0FBQUE7QUFDQTtBQUNBOzs7Ozs7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDTyxXQUFTQSxVQUFULENBQW9CQyxRQUFwQixFQUF5RDtBQUMvRCxXQUFPQSxRQUFRLElBQUtBLFFBQUQsQ0FBdUJDLGNBQXZCLENBQXNDLE9BQXRDLENBQVosSUFBK0RELFFBQUQsQ0FBdUJFLEtBQXZCLEtBQWlDLFVBQXRHO0FBQ0E7QUFFRDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7Ozs7O0FBQ08sTUFBTUMsVUFBVSxHQUFHLFVBQVVDLFNBQVYsRUFBd0M7QUFBQTs7QUFDakUsV0FBTyxDQUFDLDJCQUFDQSxTQUFTLENBQUNDLFdBQVgsNEVBQUMsc0JBQXVCQyxJQUF4Qiw2RUFBQyx1QkFBNkJDLFFBQTlCLG1EQUFDLHVCQUF1Q0MsT0FBdkMsRUFBRCxDQUFSO0FBQ0EsR0FGTTtBQUlQO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7Ozs7QUFDTyxNQUFNQyxXQUFXLEdBQUcsVUFBVUwsU0FBVixFQUF3QztBQUFBOztBQUNsRSxXQUFPLENBQUMsNEJBQUNBLFNBQVMsQ0FBQ0MsV0FBWCw2RUFBQyx1QkFBdUJDLElBQXhCLDZFQUFDLHVCQUE2QkksU0FBOUIsbURBQUMsdUJBQXdDRixPQUF4QyxFQUFELENBQVI7QUFDQSxHQUZNO0FBSVA7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOzs7OztBQUNPLE1BQU1HLEtBQUssR0FBRyxVQUFVUCxTQUFWLEVBQXdDO0FBQzVELFdBQU8sQ0FBQyxDQUFDQSxTQUFTLENBQUNPLEtBQW5CO0FBQ0EsR0FGTTtBQUlQO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7Ozs7QUFDTyxNQUFN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QUFDQTs7Ozs7QUFDTyxNQUFNbUQsV0FBVyxHQUFHLFVBQVV2RCxTQUFWLEVBQXdDO0FBQUE7O0FBQ2xFLFdBQU8sNEJBQUFBLFNBQVMsQ0FBQ0MsV0FBViwrR0FBdUJ5QixRQUF2QixvRkFBaUNLLFdBQWpDLE1BQWlEWixTQUF4RDtBQUNBLEdBRk07Ozs7QUFJQSxNQUFNcUMsb0JBQW9CLEdBQUcsVUFBVXhELFNBQVYsRUFBd0M7QUFBQTs7QUFDM0UsV0FBTyxDQUFBQSxTQUFTLFNBQVQsSUFBQUEsU0FBUyxXQUFULHVDQUFBQSxTQUFTLENBQUVDLFdBQVgsK0dBQXdCeUIsUUFBeEIsK0dBQWtDQyxJQUFsQyxvRkFBd0NiLFFBQXhDLFFBQXVELEdBQTlEO0FBQ0EsR0FGTSIsInNvdXJjZVJvb3QiOiIuIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgUHJvcGVydHkgfSBmcm9tIFwiQHNhcC11eC9hbm5vdGF0aW9uLWNvbnZlcnRlclwiO1xuaW1wb3J0IHsgUGF0aEFubm90YXRpb25FeHByZXNzaW9uIH0gZnJvbSBcIkBzYXAtdXgvdm9jYWJ1bGFyaWVzLXR5cGVzXCI7XG5cbi8qKlxuICogSWRlbnRpZnkgaWYgdGhlIGdpdmVuIHByb3BlcnR5IHBhc3NlZCBpcyBhIFwiUHJvcGVydHlcIiAoaGFzIGEgX3R5cGUpLlxuICpcbiAqIEBwYXJhbSB7UHJvcGVydHl9IHByb3BlcnR5IEEgdGFyZ2V0IHByb3BlcnR5IHRvIGV2YWx1YXRlXG4gKiBAcmV0dXJucyB7Ym9vbGVhbn0gVmFsaWRhdGUgdGhhdCBwcm9wZXJ0eSBpcyBhIFByb3BlcnR5XG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBpc1Byb3BlcnR5KHByb3BlcnR5OiBhbnkpOiBwcm9wZXJ0eSBpcyBQcm9wZXJ0eSB7XG5cdHJldHVybiBwcm9wZXJ0eSAmJiAocHJvcGVydHkgYXMgUHJvcGVydHkpLmhhc093blByb3BlcnR5KFwiX3R5cGVcIikgJiYgKHByb3BlcnR5IGFzIFByb3BlcnR5KS5fdHlwZSA9PT0gXCJQcm9wZXJ0eVwiO1xufVxuXG4vKipcbiAqIENoZWNrIHdoZXRoZXIgdGhlIHByb3BlcnR5IGhhcyB0aGUgQ29yZS5Db21wdXRlZCBhbm5vdGF0aW9uIG9yIG5vdC5cbiAqXG4gKiBAcGFyYW0ge1Byb3BlcnR5fSBvUHJvcGVydHkgVGhlIHRhcmdldCBwcm9wZXJ0eVxuICogQHJldHVybnMge2Jvb2xlYW59IGB0cnVlYCBpZiB0aGUgcHJvcGVydHkgaXMgY29tcHV0ZWRcbiAqL1xuZXhwb3J0IGNvbnN0IGlzQ29tcHV0ZWQgPSBmdW5jdGlvbiAob1Byb3BlcnR5OiBQcm9wZXJ0eSk6IGJvb2xlYW4ge1xuXHRyZXR1cm4gISFvUHJvcGVydHkuYW5ub3RhdGlvbnM/LkNvcmU/LkNvbXB1dGVkPy52YWx1ZU9mKCk7XG59O1xuXG4vKipcbiAqIENoZWNrIHdoZXRoZXIgdGhlIHByb3BlcnR5IGhhcyB0aGUgQ29yZS5JbW11dGFibGUgYW5ub3RhdGlvbiBvciBub3QuXG4gKlxuICogQHBhcmFtIHtQcm9wZXJ0eX0gb1Byb3BlcnR5IFRoZSB0YXJnZXQgcHJvcGVydHlcbiAqIEByZXR1cm5zIHtib29sZWFufSBgdHJ1ZWAgaWYgaXQncyBpbW11dGFibGVcbiAqL1xuZXhwb3J0IGNvbnN0IGlzSW1tdXRhYmxlID0gZnVuY3Rpb24gKG9Qcm9wZXJ0eTogUHJvcGVydHkpOiBib29sZWFuIHtcblx0cmV0dXJuICEhb1Byb3BlcnR5LmFubm90YXRpb25zPy5Db3JlPy5JbW11dGFibGU/LnZhbHVlT2YoKTtcbn07XG5cbi8qKlxuICogQ2hlY2sgd2hldGhlciB0aGUgcHJvcGVydHkgaXMgYSBrZXkgb3Igbm90LlxuICpcbiAqIEBwYXJhbSB7UHJvcGVydHl9IG9Qcm9wZXJ0eSBUaGUgdGFyZ2V0IHByb3BlcnR5XG4gKiBAcmV0dXJucyB7Ym9vbGVhbn0gYHRydWVgIGlmIGl0J3MgYSBrZXlcbiAqL1xuZXhwb3J0IGNvbnN0IGlzS2V5ID0gZnVuY3Rpb24gKG9Qcm9wZXJ0eTogUHJvcGVydHkpOiBib29sZWFuIHtcblx0cmV0dXJuICEhb1Byb3BlcnR5LmlzS2V5O1xufTtcblxuLyoqXG4gKiBDaGVja3Mgd2hldGhlciB0aGUgcHJvcGVydHkgaGFzIGEgZGF0ZSB0aW1lIG9yIG5vdC5cbiAqXG4gKiBAcGFyYW0gb1Byb3BlcnR5XG4gKiBAcmV0dXJucyBgdHJ1ZWAgaWYgaXQgaXMgb2YgdHlwZSBkYXRlIC8gZGF0ZXRpbWUgLyBkYXRldGltZW9mZnNldFxuICovXG5leHBvcnQgY29uc3QgaGFzRGF0ZVR5cGUgPSBmdW5jdGlvbiAob1Byb3BlcnR5OiBQcm9wZXJ0eSk6IGJvb2xlYW4ge1xuXHRyZXR1cm4gW1wiRWRtLkRhdGVcIiwgXCJFZG0uRGF0ZVRpbWVcIiwgXCJFZG0uRGF0ZVRpbWVPZmZzZXRcIl0uaW5kZXhPZihvUHJvcGVydHkudHlwZSkgIT09IC0xO1xufTtcblxuLyoqXG4gKiBSZXRyaWV2ZSB0aGUgbGFiZWwgYW5ub3RhdGlvbi5cbiAqXG4gKiBAcGFyYW0gb1Byb3BlcnR5IFRoZSB0YXJnZXQgcHJvcGVydHlcbiAqIEByZXR1cm5zIFRoZSBsYWJlbCBzdHJpbmdcbiAqL1xuZXhwb3J0IGNvbnN0IGdldExhYmVsID0gZnVuY3Rpb24gKG9Qcm9wZXJ0eTogUHJvcGVydHkpOiBzdHJpbmcge1xuXHRyZXR1cm4gb1Byb3BlcnR5LmFubm90YXRpb25zPy5Db21tb24/LkxhYmVsPy50b1N0cmluZygpIHx8IFwiXCI7XG59O1xuXG4vKipcbiAqIENoZWNrIHdoZXRoZXIgdGhlIHByb3BlcnR5IGhhcyBhIHNlbWFudGljIG9iamVjdCBkZWZpbmVkIG9yIG5vdC5cbiAqXG4gKiBAcGFyYW0ge1Byb3BlcnR5fSBvUHJvcGVydHkgVGhlIHRhcmdldCBwcm9wZXJ0eVxuICogQHJldHVybnMge2Jvb2xlYW59IGB0cnVlYCBpZiBpdCBoYXMgYSBzZW1hbnRpYyBvYmplY3RcbiAqL1xuZXhwb3J0IGNvbnN0IGhhc1NlbWFudGljT2JqZWN0ID0gZnVuY3Rpb24gKG9Qcm9wZXJ0eTogUHJvcGVydHkpOiBib29sZWFuIHtcblx0cmV0dXJuICEhb1Byb3BlcnR5LmFubm90YXRpb25zPy5Db21tb24/LlNlbWFudGljT2JqZWN0O1xufTtcblxuZXhwb3J0IGNvbnN0IGlzUGF0aEV4cHJlc3Npb24gPSBmdW5jdGlvbiA8VD4oZXhwcmVzc2lvbjogYW55KTogZXhwcmVzc2lvbiBpcyBQYXRoQW5ub3RhdGlvbkV4cHJlc3Npb248VD4ge1xuXHRyZXR1cm4gISFleHByZXNzaW9uICYmIGV4cHJlc3Npb24udHlwZSAhPT0gdW5kZWZpbmVkICYmIGV4cHJlc3Npb24udHlwZSA9PT0gXCJQYXRoXCI7XG59O1xuZXhwb3J0IGNvbnN0IGlzUHJvcGVydHlQYXRoRXhwcmVzc2lvbiA9IGZ1bmN0aW9uIDxUPihleHByZXNzaW9uOiBhbnkpOiBleHByZXNzaW9uIGlzIFBhdGhBbm5vdGF0aW9uRXhwcmVzc2lvbjxUPiB7XG5cdHJldHVybiAhIWV4cHJlc3Npb24gJiYgZXhwcmVzc2lvbi50eXBlICE9PSB1bmRlZmluZWQgJiYgZXhwcmVzc2lvbi50eXBlID09PSBcIlByb3BlcnR5UGF0aFwiO1xufTtcbmV4cG9ydCBjb25zdCBpc0Fubm90YXRpb25QYXRoRXhwcmVzc2lvbiA9IGZ1bmN0aW9uIDxUPihleHByZXNzaW9uOiBhbnkpOiBleHByZXNzaW9uIGlzIFBhdGhBbm5vdGF0aW9uRXhwcmVzc2lvbjxUPiB7XG5cdHJldHVybiAhIWV4cHJlc3Npb24gJiYgZXhwcmVzc2lvbi50eXBlICE9PSB1bmRlZmluZWQgJiYgZXhwcmVzc2lvbi50eXBlID09PSBcIkFubm90YXRpb25QYXRoXCI7XG59O1xuXG4vKipcbiAqIFJldHJpZXZlcyB0aGUgdGltZXpvbmUgcHJvcGVydHkgYXNzb2NpYXRlZCB0byB0aGUgcHJvcGVydHksIGlmIGFwcGxpY2FibGUuXG4gKlxuICogQHBhcmFtIHtQcm9wZXJ0eX0gb1Byb3BlcnR5IFRoZSB0YXJnZXQgcHJvcGVydHlcbiAqIEByZXR1cm5zIHtQcm9wZXJ0eSB8IHVuZGVmaW5lZH0gVGhlIHRpbWV6b25lIHByb3BlcnR5LCBpZiBpdCBleGlzdHNcbiAqL1xuZXhwb3J0IGNvbnN0IGdldEFzc29jaWF0ZWRUaW1lem9uZVByb3BlcnR5ID0gZnVuY3Rpb24gKG9Qcm9wZXJ0eTogUHJvcGVydHkpOiBQcm9wZXJ0eSB8IHVuZGVmaW5lZCB7XG5cdHJldHVybiBpc1BhdGhFeHByZXNzaW9uKG9Qcm9wZXJ0eT8uYW5ub3RhdGlvbnM/LkNvbW1vbj8uVGltZXpvbmUpXG5cdFx0PyAob1Byb3BlcnR5LmFubm90YXRpb25zPy5Db21tb24/LlRpbWV6b25lLiR0YXJnZXQgYXMgdW5rbm93biBhcyBQcm9wZXJ0eSlcblx0XHQ6IHVuZGVmaW5lZDtcbn07XG5cbi8qKlxuICogUmV0cmlldmVzIHRoZSB1bml0IHByb3BlcnR5IGFzc29jaWF0ZWQgdG8gdGhlIHByb3BlcnR5LCBpZiBhcHBsaWNhYmxlLlxuICpcbiAqIEBwYXJhbSB7UHJvcGVydHl9IG9Qcm9wZXJ0eSBUaGUgdGFyZ2V0IHByb3BlcnR5XG4gKiBAcmV0dXJucyB7UHJvcGVydHkgfCB1bmRlZmluZWR9IFRoZSB1bml0IHByb3BlcnR5LCBpZiBpdCBleGlzdHNcbiAqL1xuZXhwb3J0IGNvbnN0IGdldEFzc29jaWF0ZWRVbml0UHJvcGVydHkgPSBmdW5jdGlvbiAob1Byb3BlcnR5OiBQcm9wZXJ0eSk6IFByb3BlcnR5IHwgdW5kZWZpbmVkIHtcblx0cmV0dXJuIGlzUGF0aEV4cHJlc3Npb24ob1Byb3BlcnR5Py5hbm5vdGF0aW9ucz8uTWVhc3VyZXM/LlVuaXQpXG5cdFx0PyAob1Byb3BlcnR5LmFubm90YXRpb25zPy5NZWFzdXJlcz8uVW5pdC4kdGFyZ2V0IGFzIHVua25vd24gYXMgUHJvcGVydHkpXG5cdFx0OiB1bmRlZmluZWQ7XG59O1xuXG5leHBvcnQgY29uc3QgZ2V0QXNzb2NpYXRlZFVuaXRQcm9wZXJ0eVBhdGggPSBmdW5jdGlvbiAob1Byb3BlcnR5OiBQcm9wZXJ0eSk6IHN0cmluZyB8IHVuZGVmaW5lZCB7XG5cdHJldHVybiBpc1BhdGhFeHByZXNzaW9uKG9Qcm9wZXJ0eT8uYW5ub3RhdGlvbnM/Lk1lYXN1cmVzPy5Vbml0KSA/IG9Qcm9wZXJ0eS5hbm5vdGF0aW9ucz8uTWVhc3VyZXM/LlVuaXQucGF0aCA6IHVuZGVmaW5lZDtcbn07XG5cbi8qKlxuICogUmV0cmlldmVzIHRoZSBhc3NvY2lhdGVkIGN1cnJlbmN5IHByb3BlcnR5IGZvciB0aGF0IHByb3BlcnR5IGlmIGl0IGV4aXN0cy5cbiAqXG4gKiBAcGFyYW0ge1Byb3BlcnR5fSBvUHJvcGVydHkgVGhlIHRhcmdldCBwcm9wZXJ0eVxuICogQHJldHVybnMge1Byb3BlcnR5IHwgdW5kZWZpbmVkfSBUaGUgdW5pdCBwcm9wZXJ0eSwgaWYgaXQgZXhpc3RzXG4gKi9cbmV4cG9ydCBjb25zdCBnZXRBc3NvY2lhdGVkQ3VycmVuY3lQcm9wZXJ0eSA9IGZ1bmN0aW9uIChvUHJvcGVydHk6IFByb3BlcnR5KTogUHJvcGVydHkgfCB1bmRlZmluZWQge1xuXHRyZXR1cm4gaXNQYXRoRXhwcmVzc2lvbihvUHJvcGVydHk/LmFubm90YXRpb25zPy5NZWFzdXJlcz8uSVNPQ3VycmVuY3kpXG5cdFx0PyAob1Byb3BlcnR5LmFubm90YXRpb25zPy5NZWFzdXJlcz8uSVNPQ3VycmVuY3kuJHRhcmdldCBhcyB1bmtub3duIGFzIFByb3BlcnR5KVxuXHRcdDogdW5kZWZpbmVkO1xufTtcblxuZXhwb3J0IGNvbnN0IGdldEFzc29jaWF0ZWRDdXJyZW5jeVByb3BlcnR5UGF0aCA9IGZ1bmN0aW9uIChvUHJvcGVydHk6IFByb3BlcnR5KTogc3RyaW5nIHwgdW5kZWZpbmVkIHtcblx0cmV0dXJuIGlzUGF0aEV4cHJlc3Npb24ob1Byb3BlcnR5Py5hbm5vdGF0aW9ucz8uTWVhc3VyZXM/LklTT0N1cnJlbmN5KSA/IG9Qcm9wZXJ0eS5hbm5vdGF0aW9ucz8uTWVhc3VyZXM/LklTT0N1cnJlbmN5LnBhdGggOiB1bmRlZmluZWQ7XG59O1xuXG4vKipcbiAqIFJldHJpZXZlcyB0aGUgQ29tbW9uLlRleHQgcHJvcGVydHkgcGF0aCBpZiBpdCBleGlzdHMuXG4gKlxuICogQHBhcmFtIHtQcm9wZXJ0eX0gb1Byb3BlcnR5IFRoZSB0YXJnZXQgcHJvcGVydHlcbiAqIEByZXR1cm5zIHtzdHJpbmcgfCB1bmRlZmluZWR9IFRoZSBDb21tb24uVGV4dCBwcm9wZXJ0eSBwYXRoIG9yIHVuZGVmaW5lZCBpZiBpdCBkb2VzIG5vdCBleGlzdFxuICovXG5leHBvcnQgY29uc3QgZ2V0QXNzb2NpYXRlZFRleHRQcm9wZXJ0eVBhdGggPSBmdW5jdGlvbiAob1Byb3BlcnR5OiBQcm9wZXJ0eSk6IHN0cmluZyB8IHVuZGVmaW5lZCB7XG5cdHJldHVybiBpc1BhdGhFeHByZXNzaW9uKG9Qcm9wZXJ0eS5hbm5vdGF0aW9ucz8uQ29tbW9uPy5UZXh0KSA/IG9Qcm9wZXJ0eS5hbm5vdGF0aW9ucz8uQ29tbW9uPy5UZXh0LnBhdGggOiB1bmRlZmluZWQ7XG59O1xuXG4vKipcbiAqIFJldHJpZXZlcyB0aGUgVGFyZ2V0VmFsdWUgZnJvbSB0aGUgRGF0YVBvaW50LlxuICpcbiAqIEBwYXJhbSB7UHJvcGVydHl9IG9Qcm9wZXJ0eSB0aGUgdGFyZ2V0IHByb3BlcnR5IG9yIERhdGFQb2ludFxuICogQHJldHVybnMge3N0cmluZyB8IHVuZGVmaW5lZH0gVGhlIFRhcmdldFZhbHVlXG4gKi9cblxuZXhwb3J0IGNvbnN0IGdldFRhcmdldFZhbHVlT25EYXRhUG9pbnQgPSBmdW5jdGlvbiAob1Byb3BlcnR5OiBhbnkpOiBzdHJpbmcgfCB1bmRlZmluZWQge1xuXHRjb25zdCBzVGFyZ2V0VmFsdWUgPVxuXHRcdG9Qcm9wZXJ0eS5hbm5vdGF0aW9ucz8uVUk/LkRhdGFGaWVsZERlZmF1bHQ/LlRhcmdldD8uJHRhcmdldD8uVGFyZ2V0VmFsdWU/LnRvU3RyaW5nKCkgfHwgb1Byb3BlcnR5LlRhcmdldFZhbHVlPy50b1N0cmluZygpO1xuXHRyZXR1cm4gc1RhcmdldFZhbHVlID8gc1RhcmdldFZhbHVlIDogdW5kZWZpbmVkO1xufTtcbi8qKlxuICogQ2hlY2sgd2hldGhlciB0aGUgcHJvcGVydHkgaGFzIGEgdmFsdWUgaGVscCBhbm5vdGF0aW9uIGRlZmluZWQgb3Igbm90LlxuICpcbiAqIEBwYXJhbSB7UHJvcGVydHl9IG9Qcm9wZXJ0eSBUaGUgdGFyZ2V0IHByb3BlcnR5XG4gKiBAcmV0dXJucyB7Ym9vbGVhbn0gYHRydWVgIGlmIGl0IGhhcyBhIHZhbHVlIGhlbHBcbiAqL1xuZXhwb3J0IGNvbnN0IGhhc1ZhbHVlSGVscCA9IGZ1bmN0aW9uIChvUHJvcGVydHk6IFByb3BlcnR5KTogYm9vbGVhbiB7XG5cdHJldHVybiAoXG5cdFx0ISFvUHJvcGVydHkuYW5ub3RhdGlvbnM/LkNvbW1vbj8uVmFsdWVMaXN0IHx8XG5cdFx0ISFvUHJvcGVydHkuYW5ub3RhdGlvbnM/LkNvbW1vbj8uVmFsdWVMaXN0UmVmZXJlbmNlcyB8fFxuXHRcdCEhb1Byb3BlcnR5LmFubm90YXRpb25zPy5Db21tb24/LlZhbHVlTGlzdFdpdGhGaXhlZFZhbHVlcyB8fFxuXHRcdCEhb1Byb3BlcnR5LmFubm90YXRpb25zPy5Db21tb24/LlZhbHVlTGlzdE1hcHBpbmdcblx0KTtcbn07XG5cbi8qKlxuICogQ2hlY2sgd2hldGhlciB0aGUgcHJvcGVydHkgaGFzIGEgdmFsdWUgaGVscCB3aXRoIGZpeGVkIHZhbHVlIGFubm90YXRpb24gZGVmaW5lZCBvciBub3QuXG4gKlxuICogQHBhcmFtIHtQcm9wZXJ0eX0gb1Byb3BlcnR5IFRoZSB0YXJnZXQgcHJvcGVydHlcbiAqIEByZXR1cm5zIHtib29sZWFufSBgdHJ1ZWAgaWYgaXQgaGFzIGEgdmFsdWUgaGVscFxuICovXG5leHBvcnQgY29uc3QgaGFzVmFsdWVIZWxwV2l0aEZpeGVkVmFsdWVzID0gZnVuY3Rpb24gKG9Qcm9wZXJ0eTogUHJvcGVydHkpOiBib29sZWFuIHtcblx0cmV0dXJuICEhb1Byb3BlcnR5Py5hbm5vdGF0aW9ucz8uQ29tbW9uPy5WYWx1ZUxpc3RXaXRoRml4ZWRWYWx1ZXM/LnZhbHVlT2YoKTtcbn07XG5cbi8qKlxuICogQ2hlY2sgd2hldGhlciB0aGUgcHJvcGVydHkgaGFzIGEgdmFsdWUgaGVscCBmb3IgdmFsaWRhdGlvbiBhbm5vdGF0aW9uIGRlZmluZWQgb3Igbm90LlxuICpcbiAqIEBwYXJhbSB7UHJvcGVydHl9IG9Qcm9wZXJ0eSBUaGUgdGFyZ2V0IHByb3BlcnR5XG4gKiBAcmV0dXJucyB7Ym9vbGVhbn0gYHRydWVgIGlmIGl0IGhhcyBhIHZhbHVlIGhlbHBcbiAqL1xuZXhwb3J0IGNvbnN0IGhhc1ZhbHVlTGlzdEZvclZhbGlkYXRpb24gPSBmdW5jdGlvbiAob1Byb3BlcnR5OiBQcm9wZXJ0eSk6IGJvb2xlYW4ge1xuXHRyZXR1cm4gb1Byb3BlcnR5LmFubm90YXRpb25zPy5Db21tb24/LlZhbHVlTGlzdEZvclZhbGlkYXRpb24gIT09IHVuZGVmaW5lZDtcbn07XG5cbmV4cG9ydCBjb25zdCBoYXNUaW1lem9uZSA9IGZ1bmN0aW9uIChvUHJvcGVydHk6IFByb3BlcnR5KTogYm9vbGVhbiB7XG5cdHJldHVybiBvUHJvcGVydHkuYW5ub3RhdGlvbnM/LkNvbW1vbj8uVGltZXpvbmUgIT09IHVuZGVmaW5lZDtcbn07XG4vKipcbiAqIENoZWNrcyB3aGV0aGVyIHRoZSBwcm9wZXJ0eSBpcyBhIHVuaXQgcHJvcGVydHkuXG4gKlxuICogQHBhcmFtIG9Qcm9wZXJ0eSBUaGUgcHJvcGVydHkgdG8gY2hlY2tcbiAqIEByZXR1cm5zIGB0cnVlYCBpZiBpdCBpcyBhIHVuaXRcbiAqL1xuZXhwb3J0IGNvbnN0IGlzVW5pdCA9IGZ1bmN0aW9uIChvUHJvcGVydHk6IFByb3BlcnR5KTogYm9vbGVhbiB7XG5cdHJldHVybiAhIW9Qcm9wZXJ0eS5hbm5vdGF0aW9ucz8uQ29tbW9uPy5Jc1VuaXQ/LnZhbHVlT2YoKTtcbn07XG5cbi8qKlxuICogQ2hlY2tzIHdoZXRoZXIgdGhlIHByb3BlcnR5IGhhcyBhIHVuaXQgcHJvcGVydHkuXG4gKlxuICogQHBhcmFtIG9Qcm9wZXJ0eSBUaGUgcHJvcGVydHkgdG8gY2hlY2tcbiAqIEByZXR1cm5zIGB0cnVlYCBpZiBpdCBoYXMgYSB1bml0XG4gKi9cblxuZXhwb3J0IGNvbnN0IGhhc1VuaXQgPSBmdW5jdGlvbiAob1Byb3BlcnR5OiBQcm9wZXJ0eSk6IGJvb2xlYW4ge1xuXHRyZXR1cm4gb1Byb3BlcnR5LmFubm90YXRpb25zPy5NZWFzdXJlcz8uVW5pdCAhPT0gdW5kZWZpbmVkO1xufTtcblxuLyoqXG4gKiBDaGVja3Mgd2hldGhlciB0aGUgcHJvcGVydHkgaXMgYSBjdXJyZW5jeSBwcm9wZXJ0eS5cbiAqXG4gKiBAcGFyYW0gb1Byb3BlcnR5IFRoZSBwcm9wZXJ0eSB0byBjaGVja1xuICogQHJldHVybnMgYHRydWVgIGlmIGl0IGlzIGEgY3VycmVuY3lcbiAqL1xuZXhwb3J0IGNvbnN0IGlzQ3VycmVuY3kgPSBmdW5jdGlvbiAob1Byb3BlcnR5OiBQcm9wZXJ0eSk6IGJvb2xlYW4ge1xuXHRyZXR1cm4gISFvUHJvcGVydHkuYW5ub3RhdGlvbnM/LkNvbW1vbj8uSXNDdXJyZW5jeT8udmFsdWVPZigpO1xufTtcblxuLyoqXG4gKiBDaGVja3Mgd2hldGhlciB0aGUgcHJvcGVydHkgaGFzIGEgY3VycmVuY3kgcHJvcGVydHkuXG4gKlxuICogQHBhcmFtIG9Qcm9wZXJ0eSBUaGUgcHJvcGVydHkgdG8gY2hlY2tcbiAqIEByZXR1cm5zIGB0cnVlYCBpZiBpdCBoYXMgYSBjdXJyZW5jeVxuICovXG5leHBvcnQgY29uc3QgaGFzQ3VycmVuY3kgPSBmdW5jdGlvbiAob1Byb3BlcnR5OiBQcm9wZXJ0eSk6IGJvb2xlYW4ge1xuXHRyZXR1cm4gb1Byb3BlcnR5LmFubm90YXRpb25zPy5NZWFzdXJlcz8uSVNPQ3VycmVuY3kgIT09IHVuZGVmaW5lZDtcbn07XG5cbmV4cG9ydCBjb25zdCBoYXNTdGF0aWNQZXJjZW50VW5pdCA9IGZ1bmN0aW9uIChvUHJvcGVydHk6IFByb3BlcnR5KTogYm9vbGVhbiB7XG5cdHJldHVybiBvUHJvcGVydHk/LmFubm90YXRpb25zPy5NZWFzdXJlcz8uVW5pdD8udG9TdHJpbmcoKSA9PT0gXCIlXCI7XG59O1xuIl19
|
|
340
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIlByb3BlcnR5SGVscGVyLnRzIl0sIm5hbWVzIjpbImlzUHJvcGVydHkiLCJwcm9wZXJ0eSIsImhhc093blByb3BlcnR5IiwiX3R5cGUiLCJpc0NvbXB1dGVkIiwib1Byb3BlcnR5IiwiYW5ub3RhdGlvbnMiLCJDb3JlIiwiQ29tcHV0ZWQiLCJ2YWx1ZU9mIiwiaXNJbW11dGFibGUiLCJJbW11dGFibGUiLCJpc0tleSIsImhhc0RhdGVUeXBlIiwiaW5kZXhPZiIsInR5cGUiLCJnZXRMYWJlbCIsIkNvbW1vbiIsIkxhYmVsIiwidG9TdHJpbmciLCJoYXNTZW1hbnRpY09iamVjdCIsIlNlbWFudGljT2JqZWN0IiwiaXNQYXRoRXhwcmVzc2lvbiIsImV4cHJlc3Npb24iLCJ1bmRlZmluZWQiLCJpc1Byb3BlcnR5UGF0aEV4cHJlc3Npb24iLCJpc0Fubm90YXRpb25QYXRoRXhwcmVzc2lvbiIsImdldEFzc29jaWF0ZWRUaW1lem9uZVByb3BlcnR5IiwiVGltZXpvbmUiLCIkdGFyZ2V0IiwiZ2V0QXNzb2NpYXRlZFVuaXRQcm9wZXJ0eSIsIk1lYXN1cmVzIiwiVW5pdCIsImdldEFzc29jaWF0ZWRVbml0UHJvcGVydHlQYXRoIiwicGF0aCIsImdldEFzc29jaWF0ZWRDdXJyZW5jeVByb3BlcnR5IiwiSVNPQ3VycmVuY3kiLCJnZXRBc3NvY2lhdGVkQ3VycmVuY3lQcm9wZXJ0eVBhdGgiLCJnZXRBc3NvY2lhdGVkVGV4dFByb3BlcnR5UGF0aCIsIlRleHQiLCJnZXRUYXJnZXRWYWx1ZU9uRGF0YVBvaW50Iiwic1RhcmdldFZhbHVlIiwiVUkiLCJEYXRhRmllbGREZWZhdWx0IiwiVGFyZ2V0IiwiVGFyZ2V0VmFsdWUiLCJoYXNWYWx1ZUhlbHAiLCJWYWx1ZUxpc3QiLCJWYWx1ZUxpc3RSZWZlcmVuY2VzIiwiVmFsdWVMaXN0V2l0aEZpeGVkVmFsdWVzIiwiVmFsdWVMaXN0TWFwcGluZyIsImhhc1ZhbHVlSGVscFdpdGhGaXhlZFZhbHVlcyIsImhhc1ZhbHVlTGlzdEZvclZhbGlkYXRpb24iLCJWYWx1ZUxpc3RGb3JWYWxpZGF0aW9uIiwiaGFzVGltZXpvbmUiLCJpc1VuaXQiLCJJc1VuaXQiLCJoYXNVbml0IiwiaXNDdXJyZW5jeSIsIklzQ3VycmVuY3kiLCJoYXNDdXJyZW5jeSIsImhhc1N0YXRpY1BlcmNlbnRVbml0Il0sIm1hcHBpbmdzIjoiO0FBQUE7QUFDQTtBQUNBOzs7Ozs7QUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDTyxXQUFTQSxVQUFULENBQW9CQyxRQUFwQixFQUF5RDtBQUMvRCxXQUFPQSxRQUFRLElBQUtBLFFBQUQsQ0FBdUJDLGNBQXZCLENBQXNDLE9BQXRDLENBQVosSUFBK0RELFFBQUQsQ0FBdUJFLEtBQXZCLEtBQWlDLFVBQXRHO0FBQ0E7QUFFRDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7Ozs7O0FBQ08sTUFBTUMsVUFBVSxHQUFHLFVBQVVDLFNBQVYsRUFBd0M7QUFBQTs7QUFDakUsV0FBTyxDQUFDLDJCQUFDQSxTQUFTLENBQUNDLFdBQVgsNEVBQUMsc0JBQXVCQyxJQUF4Qiw2RUFBQyx1QkFBNkJDLFFBQTlCLG1EQUFDLHVCQUF1Q0MsT0FBdkMsRUFBRCxDQUFSO0FBQ0EsR0FGTTtBQUlQO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7Ozs7QUFDTyxNQUFNQyxXQUFXLEdBQUcsVUFBVUwsU0FBVixFQUF3QztBQUFBOztBQUNsRSxXQUFPLENBQUMsNEJBQUNBLFNBQVMsQ0FBQ0MsV0FBWCw2RUFBQyx1QkFBdUJDLElBQXhCLDZFQUFDLHVCQUE2QkksU0FBOUIsbURBQUMsdUJBQXdDRixPQUF4QyxFQUFELENBQVI7QUFDQSxHQUZNO0FBSVA7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOzs7OztBQUNPLE1BQU1HLEtBQUssR0FBRyxVQUFVUCxTQUFWLEVBQXdDO0FBQzVELFdBQU8sQ0FBQyxDQUFDQSxTQUFTLENBQUNPLEtBQW5CO0FBQ0EsR0FGTTtBQUlQO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7Ozs7QUFDTyxNQUFN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QUFDQTs7Ozs7QUFDTyxNQUFNbUQsV0FBVyxHQUFHLFVBQVV2RCxTQUFWLEVBQXdDO0FBQUE7O0FBQ2xFLFdBQU8sNEJBQUFBLFNBQVMsQ0FBQ0MsV0FBViwrR0FBdUJ5QixRQUF2QixvRkFBaUNLLFdBQWpDLE1BQWlEWixTQUF4RDtBQUNBLEdBRk07Ozs7QUFJQSxNQUFNcUMsb0JBQW9CLEdBQUcsVUFBVXhELFNBQVYsRUFBd0M7QUFBQTs7QUFDM0UsV0FBTyxDQUFBQSxTQUFTLFNBQVQsSUFBQUEsU0FBUyxXQUFULHVDQUFBQSxTQUFTLENBQUVDLFdBQVgsK0dBQXdCeUIsUUFBeEIsK0dBQWtDQyxJQUFsQyxvRkFBd0NiLFFBQXhDLFFBQXVELEdBQTlEO0FBQ0EsR0FGTSIsInNvdXJjZVJvb3QiOiIuIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHR5cGUgeyBQYXRoQW5ub3RhdGlvbkV4cHJlc3Npb24sIFByb3BlcnR5IH0gZnJvbSBcIkBzYXAtdXgvdm9jYWJ1bGFyaWVzLXR5cGVzXCI7XG5cbi8qKlxuICogSWRlbnRpZnkgaWYgdGhlIGdpdmVuIHByb3BlcnR5IHBhc3NlZCBpcyBhIFwiUHJvcGVydHlcIiAoaGFzIGEgX3R5cGUpLlxuICpcbiAqIEBwYXJhbSBwcm9wZXJ0eSBBIHRhcmdldCBwcm9wZXJ0eSB0byBldmFsdWF0ZVxuICogQHJldHVybnMgVmFsaWRhdGUgdGhhdCBwcm9wZXJ0eSBpcyBhIFByb3BlcnR5XG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBpc1Byb3BlcnR5KHByb3BlcnR5OiBhbnkpOiBwcm9wZXJ0eSBpcyBQcm9wZXJ0eSB7XG5cdHJldHVybiBwcm9wZXJ0eSAmJiAocHJvcGVydHkgYXMgUHJvcGVydHkpLmhhc093blByb3BlcnR5KFwiX3R5cGVcIikgJiYgKHByb3BlcnR5IGFzIFByb3BlcnR5KS5fdHlwZSA9PT0gXCJQcm9wZXJ0eVwiO1xufVxuXG4vKipcbiAqIENoZWNrIHdoZXRoZXIgdGhlIHByb3BlcnR5IGhhcyB0aGUgQ29yZS5Db21wdXRlZCBhbm5vdGF0aW9uIG9yIG5vdC5cbiAqXG4gKiBAcGFyYW0gb1Byb3BlcnR5IFRoZSB0YXJnZXQgcHJvcGVydHlcbiAqIEByZXR1cm5zIGB0cnVlYCBpZiB0aGUgcHJvcGVydHkgaXMgY29tcHV0ZWRcbiAqL1xuZXhwb3J0IGNvbnN0IGlzQ29tcHV0ZWQgPSBmdW5jdGlvbiAob1Byb3BlcnR5OiBQcm9wZXJ0eSk6IGJvb2xlYW4ge1xuXHRyZXR1cm4gISFvUHJvcGVydHkuYW5ub3RhdGlvbnM/LkNvcmU/LkNvbXB1dGVkPy52YWx1ZU9mKCk7XG59O1xuXG4vKipcbiAqIENoZWNrIHdoZXRoZXIgdGhlIHByb3BlcnR5IGhhcyB0aGUgQ29yZS5JbW11dGFibGUgYW5ub3RhdGlvbiBvciBub3QuXG4gKlxuICogQHBhcmFtIG9Qcm9wZXJ0eSBUaGUgdGFyZ2V0IHByb3BlcnR5XG4gKiBAcmV0dXJucyBgdHJ1ZWAgaWYgaXQncyBpbW11dGFibGVcbiAqL1xuZXhwb3J0IGNvbnN0IGlzSW1tdXRhYmxlID0gZnVuY3Rpb24gKG9Qcm9wZXJ0eTogUHJvcGVydHkpOiBib29sZWFuIHtcblx0cmV0dXJuICEhb1Byb3BlcnR5LmFubm90YXRpb25zPy5Db3JlPy5JbW11dGFibGU/LnZhbHVlT2YoKTtcbn07XG5cbi8qKlxuICogQ2hlY2sgd2hldGhlciB0aGUgcHJvcGVydHkgaXMgYSBrZXkgb3Igbm90LlxuICpcbiAqIEBwYXJhbSBvUHJvcGVydHkgVGhlIHRhcmdldCBwcm9wZXJ0eVxuICogQHJldHVybnMgYHRydWVgIGlmIGl0J3MgYSBrZXlcbiAqL1xuZXhwb3J0IGNvbnN0IGlzS2V5ID0gZnVuY3Rpb24gKG9Qcm9wZXJ0eTogUHJvcGVydHkpOiBib29sZWFuIHtcblx0cmV0dXJuICEhb1Byb3BlcnR5LmlzS2V5O1xufTtcblxuLyoqXG4gKiBDaGVja3Mgd2hldGhlciB0aGUgcHJvcGVydHkgaGFzIGEgZGF0ZSB0aW1lIG9yIG5vdC5cbiAqXG4gKiBAcGFyYW0gb1Byb3BlcnR5XG4gKiBAcmV0dXJucyBgdHJ1ZWAgaWYgaXQgaXMgb2YgdHlwZSBkYXRlIC8gZGF0ZXRpbWUgLyBkYXRldGltZW9mZnNldFxuICovXG5leHBvcnQgY29uc3QgaGFzRGF0ZVR5cGUgPSBmdW5jdGlvbiAob1Byb3BlcnR5OiBQcm9wZXJ0eSk6IGJvb2xlYW4ge1xuXHRyZXR1cm4gW1wiRWRtLkRhdGVcIiwgXCJFZG0uRGF0ZVRpbWVcIiwgXCJFZG0uRGF0ZVRpbWVPZmZzZXRcIl0uaW5kZXhPZihvUHJvcGVydHkudHlwZSkgIT09IC0xO1xufTtcblxuLyoqXG4gKiBSZXRyaWV2ZSB0aGUgbGFiZWwgYW5ub3RhdGlvbi5cbiAqXG4gKiBAcGFyYW0gb1Byb3BlcnR5IFRoZSB0YXJnZXQgcHJvcGVydHlcbiAqIEByZXR1cm5zIFRoZSBsYWJlbCBzdHJpbmdcbiAqL1xuZXhwb3J0IGNvbnN0IGdldExhYmVsID0gZnVuY3Rpb24gKG9Qcm9wZXJ0eTogUHJvcGVydHkpOiBzdHJpbmcge1xuXHRyZXR1cm4gb1Byb3BlcnR5LmFubm90YXRpb25zPy5Db21tb24/LkxhYmVsPy50b1N0cmluZygpIHx8IFwiXCI7XG59O1xuXG4vKipcbiAqIENoZWNrIHdoZXRoZXIgdGhlIHByb3BlcnR5IGhhcyBhIHNlbWFudGljIG9iamVjdCBkZWZpbmVkIG9yIG5vdC5cbiAqXG4gKiBAcGFyYW0gb1Byb3BlcnR5IFRoZSB0YXJnZXQgcHJvcGVydHlcbiAqIEByZXR1cm5zIGB0cnVlYCBpZiBpdCBoYXMgYSBzZW1hbnRpYyBvYmplY3RcbiAqL1xuZXhwb3J0IGNvbnN0IGhhc1NlbWFudGljT2JqZWN0ID0gZnVuY3Rpb24gKG9Qcm9wZXJ0eTogUHJvcGVydHkpOiBib29sZWFuIHtcblx0cmV0dXJuICEhb1Byb3BlcnR5LmFubm90YXRpb25zPy5Db21tb24/LlNlbWFudGljT2JqZWN0O1xufTtcblxuZXhwb3J0IGNvbnN0IGlzUGF0aEV4cHJlc3Npb24gPSBmdW5jdGlvbiA8VD4oZXhwcmVzc2lvbjogYW55KTogZXhwcmVzc2lvbiBpcyBQYXRoQW5ub3RhdGlvbkV4cHJlc3Npb248VD4ge1xuXHRyZXR1cm4gISFleHByZXNzaW9uICYmIGV4cHJlc3Npb24udHlwZSAhPT0gdW5kZWZpbmVkICYmIGV4cHJlc3Npb24udHlwZSA9PT0gXCJQYXRoXCI7XG59O1xuZXhwb3J0IGNvbnN0IGlzUHJvcGVydHlQYXRoRXhwcmVzc2lvbiA9IGZ1bmN0aW9uIDxUPihleHByZXNzaW9uOiBhbnkpOiBleHByZXNzaW9uIGlzIFBhdGhBbm5vdGF0aW9uRXhwcmVzc2lvbjxUPiB7XG5cdHJldHVybiAhIWV4cHJlc3Npb24gJiYgZXhwcmVzc2lvbi50eXBlICE9PSB1bmRlZmluZWQgJiYgZXhwcmVzc2lvbi50eXBlID09PSBcIlByb3BlcnR5UGF0aFwiO1xufTtcbmV4cG9ydCBjb25zdCBpc0Fubm90YXRpb25QYXRoRXhwcmVzc2lvbiA9IGZ1bmN0aW9uIDxUPihleHByZXNzaW9uOiBhbnkpOiBleHByZXNzaW9uIGlzIFBhdGhBbm5vdGF0aW9uRXhwcmVzc2lvbjxUPiB7XG5cdHJldHVybiAhIWV4cHJlc3Npb24gJiYgZXhwcmVzc2lvbi50eXBlICE9PSB1bmRlZmluZWQgJiYgZXhwcmVzc2lvbi50eXBlID09PSBcIkFubm90YXRpb25QYXRoXCI7XG59O1xuXG4vKipcbiAqIFJldHJpZXZlcyB0aGUgdGltZXpvbmUgcHJvcGVydHkgYXNzb2NpYXRlZCB0byB0aGUgcHJvcGVydHksIGlmIGFwcGxpY2FibGUuXG4gKlxuICogQHBhcmFtIG9Qcm9wZXJ0eSBUaGUgdGFyZ2V0IHByb3BlcnR5XG4gKiBAcmV0dXJucyBUaGUgdGltZXpvbmUgcHJvcGVydHksIGlmIGl0IGV4aXN0c1xuICovXG5leHBvcnQgY29uc3QgZ2V0QXNzb2NpYXRlZFRpbWV6b25lUHJvcGVydHkgPSBmdW5jdGlvbiAob1Byb3BlcnR5OiBQcm9wZXJ0eSk6IFByb3BlcnR5IHwgdW5kZWZpbmVkIHtcblx0cmV0dXJuIGlzUGF0aEV4cHJlc3Npb24ob1Byb3BlcnR5Py5hbm5vdGF0aW9ucz8uQ29tbW9uPy5UaW1lem9uZSlcblx0XHQ/IChvUHJvcGVydHkuYW5ub3RhdGlvbnM/LkNvbW1vbj8uVGltZXpvbmUuJHRhcmdldCBhcyB1bmtub3duIGFzIFByb3BlcnR5KVxuXHRcdDogdW5kZWZpbmVkO1xufTtcblxuLyoqXG4gKiBSZXRyaWV2ZXMgdGhlIHVuaXQgcHJvcGVydHkgYXNzb2NpYXRlZCB0byB0aGUgcHJvcGVydHksIGlmIGFwcGxpY2FibGUuXG4gKlxuICogQHBhcmFtIG9Qcm9wZXJ0eSBUaGUgdGFyZ2V0IHByb3BlcnR5XG4gKiBAcmV0dXJucyBUaGUgdW5pdCBwcm9wZXJ0eSwgaWYgaXQgZXhpc3RzXG4gKi9cbmV4cG9ydCBjb25zdCBnZXRBc3NvY2lhdGVkVW5pdFByb3BlcnR5ID0gZnVuY3Rpb24gKG9Qcm9wZXJ0eTogUHJvcGVydHkpOiBQcm9wZXJ0eSB8IHVuZGVmaW5lZCB7XG5cdHJldHVybiBpc1BhdGhFeHByZXNzaW9uKG9Qcm9wZXJ0eT8uYW5ub3RhdGlvbnM/Lk1lYXN1cmVzPy5Vbml0KVxuXHRcdD8gKG9Qcm9wZXJ0eS5hbm5vdGF0aW9ucz8uTWVhc3VyZXM/LlVuaXQuJHRhcmdldCBhcyB1bmtub3duIGFzIFByb3BlcnR5KVxuXHRcdDogdW5kZWZpbmVkO1xufTtcblxuZXhwb3J0IGNvbnN0IGdldEFzc29jaWF0ZWRVbml0UHJvcGVydHlQYXRoID0gZnVuY3Rpb24gKG9Qcm9wZXJ0eTogUHJvcGVydHkpOiBzdHJpbmcgfCB1bmRlZmluZWQge1xuXHRyZXR1cm4gaXNQYXRoRXhwcmVzc2lvbihvUHJvcGVydHk/LmFubm90YXRpb25zPy5NZWFzdXJlcz8uVW5pdCkgPyBvUHJvcGVydHkuYW5ub3RhdGlvbnM/Lk1lYXN1cmVzPy5Vbml0LnBhdGggOiB1bmRlZmluZWQ7XG59O1xuXG4vKipcbiAqIFJldHJpZXZlcyB0aGUgYXNzb2NpYXRlZCBjdXJyZW5jeSBwcm9wZXJ0eSBmb3IgdGhhdCBwcm9wZXJ0eSBpZiBpdCBleGlzdHMuXG4gKlxuICogQHBhcmFtIG9Qcm9wZXJ0eSBUaGUgdGFyZ2V0IHByb3BlcnR5XG4gKiBAcmV0dXJucyBUaGUgdW5pdCBwcm9wZXJ0eSwgaWYgaXQgZXhpc3RzXG4gKi9cbmV4cG9ydCBjb25zdCBnZXRBc3NvY2lhdGVkQ3VycmVuY3lQcm9wZXJ0eSA9IGZ1bmN0aW9uIChvUHJvcGVydHk6IFByb3BlcnR5KTogUHJvcGVydHkgfCB1bmRlZmluZWQge1xuXHRyZXR1cm4gaXNQYXRoRXhwcmVzc2lvbihvUHJvcGVydHk/LmFubm90YXRpb25zPy5NZWFzdXJlcz8uSVNPQ3VycmVuY3kpXG5cdFx0PyAob1Byb3BlcnR5LmFubm90YXRpb25zPy5NZWFzdXJlcz8uSVNPQ3VycmVuY3kuJHRhcmdldCBhcyB1bmtub3duIGFzIFByb3BlcnR5KVxuXHRcdDogdW5kZWZpbmVkO1xufTtcblxuZXhwb3J0IGNvbnN0IGdldEFzc29jaWF0ZWRDdXJyZW5jeVByb3BlcnR5UGF0aCA9IGZ1bmN0aW9uIChvUHJvcGVydHk6IFByb3BlcnR5KTogc3RyaW5nIHwgdW5kZWZpbmVkIHtcblx0cmV0dXJuIGlzUGF0aEV4cHJlc3Npb24ob1Byb3BlcnR5Py5hbm5vdGF0aW9ucz8uTWVhc3VyZXM/LklTT0N1cnJlbmN5KSA/IG9Qcm9wZXJ0eS5hbm5vdGF0aW9ucz8uTWVhc3VyZXM/LklTT0N1cnJlbmN5LnBhdGggOiB1bmRlZmluZWQ7XG59O1xuXG4vKipcbiAqIFJldHJpZXZlcyB0aGUgQ29tbW9uLlRleHQgcHJvcGVydHkgcGF0aCBpZiBpdCBleGlzdHMuXG4gKlxuICogQHBhcmFtIG9Qcm9wZXJ0eSBUaGUgdGFyZ2V0IHByb3BlcnR5XG4gKiBAcmV0dXJucyBUaGUgQ29tbW9uLlRleHQgcHJvcGVydHkgcGF0aCBvciB1bmRlZmluZWQgaWYgaXQgZG9lcyBub3QgZXhpc3RcbiAqL1xuZXhwb3J0IGNvbnN0IGdldEFzc29jaWF0ZWRUZXh0UHJvcGVydHlQYXRoID0gZnVuY3Rpb24gKG9Qcm9wZXJ0eTogUHJvcGVydHkpOiBzdHJpbmcgfCB1bmRlZmluZWQge1xuXHRyZXR1cm4gaXNQYXRoRXhwcmVzc2lvbihvUHJvcGVydHkuYW5ub3RhdGlvbnM/LkNvbW1vbj8uVGV4dCkgPyBvUHJvcGVydHkuYW5ub3RhdGlvbnM/LkNvbW1vbj8uVGV4dC5wYXRoIDogdW5kZWZpbmVkO1xufTtcblxuLyoqXG4gKiBSZXRyaWV2ZXMgdGhlIFRhcmdldFZhbHVlIGZyb20gdGhlIERhdGFQb2ludC5cbiAqXG4gKiBAcGFyYW0ge1Byb3BlcnR5fSBvUHJvcGVydHkgdGhlIHRhcmdldCBwcm9wZXJ0eSBvciBEYXRhUG9pbnRcbiAqIEByZXR1cm5zIHtzdHJpbmcgfCB1bmRlZmluZWR9IFRoZSBUYXJnZXRWYWx1ZVxuICovXG5cbmV4cG9ydCBjb25zdCBnZXRUYXJnZXRWYWx1ZU9uRGF0YVBvaW50ID0gZnVuY3Rpb24gKG9Qcm9wZXJ0eTogYW55KTogc3RyaW5nIHwgdW5kZWZpbmVkIHtcblx0Y29uc3Qgc1RhcmdldFZhbHVlID1cblx0XHRvUHJvcGVydHkuYW5ub3RhdGlvbnM/LlVJPy5EYXRhRmllbGREZWZhdWx0Py5UYXJnZXQ/LiR0YXJnZXQ/LlRhcmdldFZhbHVlPy50b1N0cmluZygpIHx8IG9Qcm9wZXJ0eS5UYXJnZXRWYWx1ZT8udG9TdHJpbmcoKTtcblx0cmV0dXJuIHNUYXJnZXRWYWx1ZSA/IHNUYXJnZXRWYWx1ZSA6IHVuZGVmaW5lZDtcbn07XG4vKipcbiAqIENoZWNrIHdoZXRoZXIgdGhlIHByb3BlcnR5IGhhcyBhIHZhbHVlIGhlbHAgYW5ub3RhdGlvbiBkZWZpbmVkIG9yIG5vdC5cbiAqXG4gKiBAcGFyYW0gb1Byb3BlcnR5IFRoZSB0YXJnZXQgcHJvcGVydHlcbiAqIEByZXR1cm5zIGB0cnVlYCBpZiBpdCBoYXMgYSB2YWx1ZSBoZWxwXG4gKi9cbmV4cG9ydCBjb25zdCBoYXNWYWx1ZUhlbHAgPSBmdW5jdGlvbiAob1Byb3BlcnR5OiBQcm9wZXJ0eSk6IGJvb2xlYW4ge1xuXHRyZXR1cm4gKFxuXHRcdCEhb1Byb3BlcnR5LmFubm90YXRpb25zPy5Db21tb24/LlZhbHVlTGlzdCB8fFxuXHRcdCEhb1Byb3BlcnR5LmFubm90YXRpb25zPy5Db21tb24/LlZhbHVlTGlzdFJlZmVyZW5jZXMgfHxcblx0XHQhIW9Qcm9wZXJ0eS5hbm5vdGF0aW9ucz8uQ29tbW9uPy5WYWx1ZUxpc3RXaXRoRml4ZWRWYWx1ZXMgfHxcblx0XHQhIW9Qcm9wZXJ0eS5hbm5vdGF0aW9ucz8uQ29tbW9uPy5WYWx1ZUxpc3RNYXBwaW5nXG5cdCk7XG59O1xuXG4vKipcbiAqIENoZWNrIHdoZXRoZXIgdGhlIHByb3BlcnR5IGhhcyBhIHZhbHVlIGhlbHAgd2l0aCBmaXhlZCB2YWx1ZSBhbm5vdGF0aW9uIGRlZmluZWQgb3Igbm90LlxuICpcbiAqIEBwYXJhbSBvUHJvcGVydHkgVGhlIHRhcmdldCBwcm9wZXJ0eVxuICogQHJldHVybnMgYHRydWVgIGlmIGl0IGhhcyBhIHZhbHVlIGhlbHBcbiAqL1xuZXhwb3J0IGNvbnN0IGhhc1ZhbHVlSGVscFdpdGhGaXhlZFZhbHVlcyA9IGZ1bmN0aW9uIChvUHJvcGVydHk6IFByb3BlcnR5KTogYm9vbGVhbiB7XG5cdHJldHVybiAhIW9Qcm9wZXJ0eT8uYW5ub3RhdGlvbnM/LkNvbW1vbj8uVmFsdWVMaXN0V2l0aEZpeGVkVmFsdWVzPy52YWx1ZU9mKCk7XG59O1xuXG4vKipcbiAqIENoZWNrIHdoZXRoZXIgdGhlIHByb3BlcnR5IGhhcyBhIHZhbHVlIGhlbHAgZm9yIHZhbGlkYXRpb24gYW5ub3RhdGlvbiBkZWZpbmVkIG9yIG5vdC5cbiAqXG4gKiBAcGFyYW0gb1Byb3BlcnR5IFRoZSB0YXJnZXQgcHJvcGVydHlcbiAqIEByZXR1cm5zIGB0cnVlYCBpZiBpdCBoYXMgYSB2YWx1ZSBoZWxwXG4gKi9cbmV4cG9ydCBjb25zdCBoYXNWYWx1ZUxpc3RGb3JWYWxpZGF0aW9uID0gZnVuY3Rpb24gKG9Qcm9wZXJ0eTogUHJvcGVydHkpOiBib29sZWFuIHtcblx0cmV0dXJuIG9Qcm9wZXJ0eS5hbm5vdGF0aW9ucz8uQ29tbW9uPy5WYWx1ZUxpc3RGb3JWYWxpZGF0aW9uICE9PSB1bmRlZmluZWQ7XG59O1xuXG5leHBvcnQgY29uc3QgaGFzVGltZXpvbmUgPSBmdW5jdGlvbiAob1Byb3BlcnR5OiBQcm9wZXJ0eSk6IGJvb2xlYW4ge1xuXHRyZXR1cm4gb1Byb3BlcnR5LmFubm90YXRpb25zPy5Db21tb24/LlRpbWV6b25lICE9PSB1bmRlZmluZWQ7XG59O1xuLyoqXG4gKiBDaGVja3Mgd2hldGhlciB0aGUgcHJvcGVydHkgaXMgYSB1bml0IHByb3BlcnR5LlxuICpcbiAqIEBwYXJhbSBvUHJvcGVydHkgVGhlIHByb3BlcnR5IHRvIGNoZWNrXG4gKiBAcmV0dXJucyBgdHJ1ZWAgaWYgaXQgaXMgYSB1bml0XG4gKi9cbmV4cG9ydCBjb25zdCBpc1VuaXQgPSBmdW5jdGlvbiAob1Byb3BlcnR5OiBQcm9wZXJ0eSk6IGJvb2xlYW4ge1xuXHRyZXR1cm4gISFvUHJvcGVydHkuYW5ub3RhdGlvbnM/LkNvbW1vbj8uSXNVbml0Py52YWx1ZU9mKCk7XG59O1xuXG4vKipcbiAqIENoZWNrcyB3aGV0aGVyIHRoZSBwcm9wZXJ0eSBoYXMgYSB1bml0IHByb3BlcnR5LlxuICpcbiAqIEBwYXJhbSBvUHJvcGVydHkgVGhlIHByb3BlcnR5IHRvIGNoZWNrXG4gKiBAcmV0dXJucyBgdHJ1ZWAgaWYgaXQgaGFzIGEgdW5pdFxuICovXG5cbmV4cG9ydCBjb25zdCBoYXNVbml0ID0gZnVuY3Rpb24gKG9Qcm9wZXJ0eTogUHJvcGVydHkpOiBib29sZWFuIHtcblx0cmV0dXJuIG9Qcm9wZXJ0eS5hbm5vdGF0aW9ucz8uTWVhc3VyZXM/LlVuaXQgIT09IHVuZGVmaW5lZDtcbn07XG5cbi8qKlxuICogQ2hlY2tzIHdoZXRoZXIgdGhlIHByb3BlcnR5IGlzIGEgY3VycmVuY3kgcHJvcGVydHkuXG4gKlxuICogQHBhcmFtIG9Qcm9wZXJ0eSBUaGUgcHJvcGVydHkgdG8gY2hlY2tcbiAqIEByZXR1cm5zIGB0cnVlYCBpZiBpdCBpcyBhIGN1cnJlbmN5XG4gKi9cbmV4cG9ydCBjb25zdCBpc0N1cnJlbmN5ID0gZnVuY3Rpb24gKG9Qcm9wZXJ0eTogUHJvcGVydHkpOiBib29sZWFuIHtcblx0cmV0dXJuICEhb1Byb3BlcnR5LmFubm90YXRpb25zPy5Db21tb24/LklzQ3VycmVuY3k/LnZhbHVlT2YoKTtcbn07XG5cbi8qKlxuICogQ2hlY2tzIHdoZXRoZXIgdGhlIHByb3BlcnR5IGhhcyBhIGN1cnJlbmN5IHByb3BlcnR5LlxuICpcbiAqIEBwYXJhbSBvUHJvcGVydHkgVGhlIHByb3BlcnR5IHRvIGNoZWNrXG4gKiBAcmV0dXJucyBgdHJ1ZWAgaWYgaXQgaGFzIGEgY3VycmVuY3lcbiAqL1xuZXhwb3J0IGNvbnN0IGhhc0N1cnJlbmN5ID0gZnVuY3Rpb24gKG9Qcm9wZXJ0eTogUHJvcGVydHkpOiBib29sZWFuIHtcblx0cmV0dXJuIG9Qcm9wZXJ0eS5hbm5vdGF0aW9ucz8uTWVhc3VyZXM/LklTT0N1cnJlbmN5ICE9PSB1bmRlZmluZWQ7XG59O1xuXG5leHBvcnQgY29uc3QgaGFzU3RhdGljUGVyY2VudFVuaXQgPSBmdW5jdGlvbiAob1Byb3BlcnR5OiBQcm9wZXJ0eSk6IGJvb2xlYW4ge1xuXHRyZXR1cm4gb1Byb3BlcnR5Py5hbm5vdGF0aW9ucz8uTWVhc3VyZXM/LlVuaXQ/LnRvU3RyaW5nKCkgPT09IFwiJVwiO1xufTtcbiJdfQ==
|
|
@@ -1,11 +1,10 @@
|
|
|
1
|
-
import { Property } from "@sap-ux/
|
|
2
|
-
import { PathAnnotationExpression } from "@sap-ux/vocabularies-types";
|
|
1
|
+
import type { PathAnnotationExpression, Property } from "@sap-ux/vocabularies-types";
|
|
3
2
|
|
|
4
3
|
/**
|
|
5
4
|
* Identify if the given property passed is a "Property" (has a _type).
|
|
6
5
|
*
|
|
7
|
-
* @param
|
|
8
|
-
* @returns
|
|
6
|
+
* @param property A target property to evaluate
|
|
7
|
+
* @returns Validate that property is a Property
|
|
9
8
|
*/
|
|
10
9
|
export function isProperty(property: any): property is Property {
|
|
11
10
|
return property && (property as Property).hasOwnProperty("_type") && (property as Property)._type === "Property";
|
|
@@ -14,8 +13,8 @@ export function isProperty(property: any): property is Property {
|
|
|
14
13
|
/**
|
|
15
14
|
* Check whether the property has the Core.Computed annotation or not.
|
|
16
15
|
*
|
|
17
|
-
* @param
|
|
18
|
-
* @returns
|
|
16
|
+
* @param oProperty The target property
|
|
17
|
+
* @returns `true` if the property is computed
|
|
19
18
|
*/
|
|
20
19
|
export const isComputed = function (oProperty: Property): boolean {
|
|
21
20
|
return !!oProperty.annotations?.Core?.Computed?.valueOf();
|
|
@@ -24,8 +23,8 @@ export const isComputed = function (oProperty: Property): boolean {
|
|
|
24
23
|
/**
|
|
25
24
|
* Check whether the property has the Core.Immutable annotation or not.
|
|
26
25
|
*
|
|
27
|
-
* @param
|
|
28
|
-
* @returns
|
|
26
|
+
* @param oProperty The target property
|
|
27
|
+
* @returns `true` if it's immutable
|
|
29
28
|
*/
|
|
30
29
|
export const isImmutable = function (oProperty: Property): boolean {
|
|
31
30
|
return !!oProperty.annotations?.Core?.Immutable?.valueOf();
|
|
@@ -34,8 +33,8 @@ export const isImmutable = function (oProperty: Property): boolean {
|
|
|
34
33
|
/**
|
|
35
34
|
* Check whether the property is a key or not.
|
|
36
35
|
*
|
|
37
|
-
* @param
|
|
38
|
-
* @returns
|
|
36
|
+
* @param oProperty The target property
|
|
37
|
+
* @returns `true` if it's a key
|
|
39
38
|
*/
|
|
40
39
|
export const isKey = function (oProperty: Property): boolean {
|
|
41
40
|
return !!oProperty.isKey;
|
|
@@ -64,8 +63,8 @@ export const getLabel = function (oProperty: Property): string {
|
|
|
64
63
|
/**
|
|
65
64
|
* Check whether the property has a semantic object defined or not.
|
|
66
65
|
*
|
|
67
|
-
* @param
|
|
68
|
-
* @returns
|
|
66
|
+
* @param oProperty The target property
|
|
67
|
+
* @returns `true` if it has a semantic object
|
|
69
68
|
*/
|
|
70
69
|
export const hasSemanticObject = function (oProperty: Property): boolean {
|
|
71
70
|
return !!oProperty.annotations?.Common?.SemanticObject;
|
|
@@ -84,8 +83,8 @@ export const isAnnotationPathExpression = function <T>(expression: any): express
|
|
|
84
83
|
/**
|
|
85
84
|
* Retrieves the timezone property associated to the property, if applicable.
|
|
86
85
|
*
|
|
87
|
-
* @param
|
|
88
|
-
* @returns
|
|
86
|
+
* @param oProperty The target property
|
|
87
|
+
* @returns The timezone property, if it exists
|
|
89
88
|
*/
|
|
90
89
|
export const getAssociatedTimezoneProperty = function (oProperty: Property): Property | undefined {
|
|
91
90
|
return isPathExpression(oProperty?.annotations?.Common?.Timezone)
|
|
@@ -96,8 +95,8 @@ export const getAssociatedTimezoneProperty = function (oProperty: Property): Pro
|
|
|
96
95
|
/**
|
|
97
96
|
* Retrieves the unit property associated to the property, if applicable.
|
|
98
97
|
*
|
|
99
|
-
* @param
|
|
100
|
-
* @returns
|
|
98
|
+
* @param oProperty The target property
|
|
99
|
+
* @returns The unit property, if it exists
|
|
101
100
|
*/
|
|
102
101
|
export const getAssociatedUnitProperty = function (oProperty: Property): Property | undefined {
|
|
103
102
|
return isPathExpression(oProperty?.annotations?.Measures?.Unit)
|
|
@@ -112,8 +111,8 @@ export const getAssociatedUnitPropertyPath = function (oProperty: Property): str
|
|
|
112
111
|
/**
|
|
113
112
|
* Retrieves the associated currency property for that property if it exists.
|
|
114
113
|
*
|
|
115
|
-
* @param
|
|
116
|
-
* @returns
|
|
114
|
+
* @param oProperty The target property
|
|
115
|
+
* @returns The unit property, if it exists
|
|
117
116
|
*/
|
|
118
117
|
export const getAssociatedCurrencyProperty = function (oProperty: Property): Property | undefined {
|
|
119
118
|
return isPathExpression(oProperty?.annotations?.Measures?.ISOCurrency)
|
|
@@ -128,8 +127,8 @@ export const getAssociatedCurrencyPropertyPath = function (oProperty: Property):
|
|
|
128
127
|
/**
|
|
129
128
|
* Retrieves the Common.Text property path if it exists.
|
|
130
129
|
*
|
|
131
|
-
* @param
|
|
132
|
-
* @returns
|
|
130
|
+
* @param oProperty The target property
|
|
131
|
+
* @returns The Common.Text property path or undefined if it does not exist
|
|
133
132
|
*/
|
|
134
133
|
export const getAssociatedTextPropertyPath = function (oProperty: Property): string | undefined {
|
|
135
134
|
return isPathExpression(oProperty.annotations?.Common?.Text) ? oProperty.annotations?.Common?.Text.path : undefined;
|
|
@@ -150,8 +149,8 @@ export const getTargetValueOnDataPoint = function (oProperty: any): string | und
|
|
|
150
149
|
/**
|
|
151
150
|
* Check whether the property has a value help annotation defined or not.
|
|
152
151
|
*
|
|
153
|
-
* @param
|
|
154
|
-
* @returns
|
|
152
|
+
* @param oProperty The target property
|
|
153
|
+
* @returns `true` if it has a value help
|
|
155
154
|
*/
|
|
156
155
|
export const hasValueHelp = function (oProperty: Property): boolean {
|
|
157
156
|
return (
|
|
@@ -165,8 +164,8 @@ export const hasValueHelp = function (oProperty: Property): boolean {
|
|
|
165
164
|
/**
|
|
166
165
|
* Check whether the property has a value help with fixed value annotation defined or not.
|
|
167
166
|
*
|
|
168
|
-
* @param
|
|
169
|
-
* @returns
|
|
167
|
+
* @param oProperty The target property
|
|
168
|
+
* @returns `true` if it has a value help
|
|
170
169
|
*/
|
|
171
170
|
export const hasValueHelpWithFixedValues = function (oProperty: Property): boolean {
|
|
172
171
|
return !!oProperty?.annotations?.Common?.ValueListWithFixedValues?.valueOf();
|
|
@@ -175,8 +174,8 @@ export const hasValueHelpWithFixedValues = function (oProperty: Property): boole
|
|
|
175
174
|
/**
|
|
176
175
|
* Check whether the property has a value help for validation annotation defined or not.
|
|
177
176
|
*
|
|
178
|
-
* @param
|
|
179
|
-
* @returns
|
|
177
|
+
* @param oProperty The target property
|
|
178
|
+
* @returns `true` if it has a value help
|
|
180
179
|
*/
|
|
181
180
|
export const hasValueListForValidation = function (oProperty: Property): boolean {
|
|
182
181
|
return oProperty.annotations?.Common?.ValueListForValidation !== undefined;
|