azure-devops-extension-api 4.270.0 → 5.271.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/Accounts/Accounts.d.ts +126 -126
- package/Accounts/Accounts.js +61 -62
- package/Accounts/Accounts.min.js +1 -1
- package/Accounts/AccountsClient.d.ts +24 -24
- package/Accounts/AccountsClient.js +78 -124
- package/Accounts/AccountsClient.min.js +1 -1
- package/Accounts/index.d.ts +2 -2
- package/Accounts/index.js +18 -9
- package/Accounts/index.min.js +1 -1
- package/AdvancedSecurity.Reporting/Reporting.d.ts +717 -717
- package/AdvancedSecurity.Reporting/Reporting.js +203 -204
- package/AdvancedSecurity.Reporting/Reporting.min.js +1 -1
- package/AdvancedSecurity.Reporting/ReportingClient.d.ts +83 -83
- package/AdvancedSecurity.Reporting/ReportingClient.js +267 -343
- package/AdvancedSecurity.Reporting/ReportingClient.min.js +1 -1
- package/Alert/Alert.d.ts +1265 -1265
- package/Alert/Alert.js +425 -426
- package/Alert/Alert.min.js +1 -1
- package/Alert/AlertClient.d.ts +184 -159
- package/Alert/AlertClient.js +512 -533
- package/Alert/AlertClient.min.js +1 -1
- package/Build/Build.d.ts +3318 -3292
- package/Build/Build.js +613 -607
- package/Build/Build.min.js +1 -1
- package/Build/BuildClient.d.ts +842 -820
- package/Build/BuildClient.js +2319 -2568
- package/Build/BuildClient.min.js +1 -1
- package/Build/BuildServices.d.ts +32 -32
- package/Build/BuildServices.js +13 -14
- package/Build/BuildServices.min.js +1 -1
- package/Build/index.d.ts +3 -3
- package/Build/index.js +19 -10
- package/Build/index.min.js +1 -1
- package/Comments/Comments.d.ts +309 -309
- package/Comments/Comments.js +93 -94
- package/Comments/Comments.min.js +1 -1
- package/Comments/index.d.ts +1 -1
- package/Comments/index.js +17 -8
- package/Comments/index.min.js +1 -1
- package/Common/Client.d.ts +9 -9
- package/Common/Client.js +25 -26
- package/Common/Client.min.js +1 -1
- package/Common/CommonServices.d.ts +774 -735
- package/Common/CommonServices.js +71 -72
- package/Common/CommonServices.min.js +1 -1
- package/Common/Context.js +2 -0
- package/Common/Fetch.d.ts +95 -95
- package/Common/Fetch.js +131 -168
- package/Common/Fetch.min.js +1 -1
- package/Common/RestClientBase.d.ts +96 -96
- package/Common/RestClientBase.js +109 -139
- package/Common/RestClientBase.min.js +1 -1
- package/Common/System.d.ts +30 -30
- package/Common/System.js +39 -40
- package/Common/System.min.js +1 -1
- package/Common/SystemData.d.ts +129 -129
- package/Common/SystemData.js +138 -139
- package/Common/SystemData.min.js +1 -1
- package/Common/Util/Serialization.d.ts +15 -15
- package/Common/Util/Serialization.js +51 -53
- package/Common/Util/Serialization.min.js +1 -1
- package/Common/Util/Url.d.ts +238 -236
- package/Common/Util/Url.js +605 -626
- package/Common/Util/Url.min.js +1 -1
- package/Common/index.d.ts +3 -3
- package/Common/index.js +19 -9
- package/Common/index.min.js +1 -1
- package/Contributions/Contributions.d.ts +694 -694
- package/Contributions/Contributions.js +185 -186
- package/Contributions/Contributions.min.js +1 -1
- package/Contributions/ContributionsClient.d.ts +31 -31
- package/Contributions/ContributionsClient.js +99 -147
- package/Contributions/ContributionsClient.min.js +1 -1
- package/Contributions/index.d.ts +2 -2
- package/Contributions/index.js +18 -9
- package/Contributions/index.min.js +1 -1
- package/Core/Core.d.ts +546 -546
- package/Core/Core.js +79 -80
- package/Core/Core.min.js +1 -1
- package/Core/CoreClient.d.ts +224 -224
- package/Core/CoreClient.js +652 -777
- package/Core/CoreClient.min.js +1 -1
- package/Core/index.d.ts +2 -2
- package/Core/index.js +18 -9
- package/Core/index.min.js +1 -1
- package/Dashboard/Dashboard.d.ts +393 -393
- package/Dashboard/Dashboard.js +56 -57
- package/Dashboard/Dashboard.min.js +1 -1
- package/Dashboard/DashboardClient.d.ts +106 -106
- package/Dashboard/DashboardClient.js +317 -393
- package/Dashboard/DashboardClient.min.js +1 -1
- package/Dashboard/WidgetConfigHelpers.d.ts +34 -34
- package/Dashboard/WidgetConfigHelpers.js +41 -45
- package/Dashboard/WidgetConfigHelpers.min.js +1 -1
- package/Dashboard/WidgetContracts.d.ts +213 -213
- package/Dashboard/WidgetContracts.js +24 -25
- package/Dashboard/WidgetContracts.min.js +1 -1
- package/Dashboard/WidgetHelpers.d.ts +89 -89
- package/Dashboard/WidgetHelpers.js +135 -146
- package/Dashboard/WidgetHelpers.min.js +1 -1
- package/Dashboard/index.d.ts +5 -5
- package/Dashboard/index.js +21 -12
- package/Dashboard/index.min.js +1 -1
- package/DistributedTaskCommon/DistributedTaskCommon.d.ts +103 -103
- package/DistributedTaskCommon/DistributedTaskCommon.js +7 -9
- package/DistributedTaskCommon/DistributedTaskCommon.min.js +1 -1
- package/DistributedTaskCommon/index.d.ts +1 -1
- package/DistributedTaskCommon/index.js +17 -4
- package/DistributedTaskCommon/index.min.js +1 -1
- package/ExtensionManagement/ExtensionManagement.d.ts +1163 -1163
- package/ExtensionManagement/ExtensionManagement.js +284 -285
- package/ExtensionManagement/ExtensionManagement.min.js +1 -1
- package/ExtensionManagement/ExtensionManagementClient.d.ts +191 -191
- package/ExtensionManagement/ExtensionManagementClient.js +551 -648
- package/ExtensionManagement/ExtensionManagementClient.min.js +1 -1
- package/ExtensionManagement/index.d.ts +2 -2
- package/ExtensionManagement/index.js +18 -9
- package/ExtensionManagement/index.min.js +1 -1
- package/Favorite/Favorite.d.ts +124 -124
- package/Favorite/Favorite.js +7 -9
- package/Favorite/Favorite.min.js +1 -1
- package/Favorite/FavoriteClient.d.ts +78 -78
- package/Favorite/FavoriteClient.js +247 -314
- package/Favorite/FavoriteClient.min.js +1 -1
- package/FeatureAvailability/FeatureAvailability.d.ts +13 -13
- package/FeatureAvailability/FeatureAvailability.js +7 -9
- package/FeatureAvailability/FeatureAvailability.min.js +1 -1
- package/FeatureAvailability/FeatureAvailabilityClient.d.ts +45 -45
- package/FeatureAvailability/FeatureAvailabilityClient.js +136 -189
- package/FeatureAvailability/FeatureAvailabilityClient.min.js +1 -1
- package/FeatureAvailability/index.d.ts +2 -2
- package/FeatureAvailability/index.js +18 -8
- package/FeatureAvailability/index.min.js +1 -1
- package/FeatureManagement/FeatureManagement.d.ts +161 -161
- package/FeatureManagement/FeatureManagement.js +26 -27
- package/FeatureManagement/FeatureManagement.min.js +1 -1
- package/FeatureManagement/FeatureManagementClient.d.ts +78 -78
- package/FeatureManagement/FeatureManagementClient.js +214 -273
- package/FeatureManagement/FeatureManagementClient.min.js +1 -1
- package/FeatureManagement/index.d.ts +2 -2
- package/FeatureManagement/index.js +18 -9
- package/FeatureManagement/index.min.js +1 -1
- package/FileContainer/FileContainer.d.ts +193 -193
- package/FileContainer/FileContainer.js +58 -59
- package/FileContainer/FileContainer.min.js +1 -1
- package/FileContainer/FileContainerClient.d.ts +47 -47
- package/FileContainer/FileContainerClient.js +132 -182
- package/FileContainer/FileContainerClient.min.js +1 -1
- package/FileContainer/index.d.ts +2 -2
- package/FileContainer/index.js +18 -9
- package/FileContainer/index.min.js +1 -1
- package/FormInput/FormInput.d.ts +278 -278
- package/FormInput/FormInput.js +77 -78
- package/FormInput/FormInput.min.js +1 -1
- package/FormInput/index.d.ts +1 -1
- package/FormInput/index.js +17 -8
- package/FormInput/index.min.js +1 -1
- package/Gallery/Gallery.d.ts +1911 -1911
- package/Gallery/Gallery.js +788 -789
- package/Gallery/Gallery.min.js +1 -1
- package/Gallery/GalleryClient.d.ts +613 -603
- package/Gallery/GalleryClient.js +1884 -2100
- package/Gallery/GalleryClient.min.js +1 -1
- package/Gallery/index.d.ts +2 -2
- package/Gallery/index.js +18 -9
- package/Gallery/index.min.js +1 -1
- package/Git/CodeEditorTypes.d.ts +305 -305
- package/Git/CodeEditorTypes.js +27 -28
- package/Git/CodeEditorTypes.min.js +1 -1
- package/Git/Git.d.ts +3976 -4071
- package/Git/Git.js +830 -839
- package/Git/Git.min.js +1 -1
- package/Git/GitClient.d.ts +1468 -1466
- package/Git/GitClient.js +3892 -4347
- package/Git/GitClient.min.js +1 -1
- package/Git/GitServices.d.ts +16 -16
- package/Git/GitServices.js +10 -11
- package/Git/GitServices.min.js +1 -1
- package/Git/index.d.ts +4 -4
- package/Git/index.js +20 -11
- package/Git/index.min.js +1 -1
- package/Graph/Graph.d.ts +518 -518
- package/Graph/Graph.js +14 -15
- package/Graph/Graph.min.js +1 -1
- package/Graph/GraphClient.d.ts +261 -261
- package/Graph/GraphClient.js +737 -867
- package/Graph/GraphClient.min.js +1 -1
- package/Graph/index.d.ts +2 -2
- package/Graph/index.js +18 -9
- package/Graph/index.min.js +1 -1
- package/Identities/Identities.d.ts +242 -242
- package/Identities/Identities.js +49 -50
- package/Identities/Identities.min.js +1 -1
- package/Identities/IdentityProvider.d.ts +40 -40
- package/Identities/IdentityProvider.js +47 -49
- package/Identities/IdentityProvider.min.js +1 -1
- package/Identities/IdentityService.d.ts +72 -72
- package/Identities/IdentityService.js +13 -14
- package/Identities/IdentityService.min.js +1 -1
- package/Identities/index.d.ts +3 -3
- package/Identities/index.js +19 -10
- package/Identities/index.min.js +1 -1
- package/Locations/Locations.d.ts +150 -150
- package/Locations/Locations.js +28 -29
- package/Locations/Locations.min.js +1 -1
- package/Locations/LocationsClient.d.ts +65 -65
- package/Locations/LocationsClient.js +211 -276
- package/Locations/LocationsClient.min.js +1 -1
- package/Locations/index.d.ts +2 -2
- package/Locations/index.js +18 -9
- package/Locations/index.min.js +1 -1
- package/Management/Management.d.ts +424 -407
- package/Management/Management.js +27 -28
- package/Management/Management.min.js +1 -1
- package/Management/ManagementClient.d.ts +116 -105
- package/Management/ManagementClient.js +349 -398
- package/Management/ManagementClient.min.js +1 -1
- package/Notification/Notification.d.ts +1387 -1387
- package/Notification/Notification.js +385 -386
- package/Notification/Notification.min.js +1 -1
- package/Notification/NotificationClient.d.ts +149 -149
- package/Notification/NotificationClient.js +420 -511
- package/Notification/NotificationClient.min.js +1 -1
- package/Notification/index.d.ts +2 -2
- package/Notification/index.js +18 -9
- package/Notification/index.min.js +1 -1
- package/Operations/Operations.d.ts +77 -77
- package/Operations/Operations.js +38 -39
- package/Operations/Operations.min.js +1 -1
- package/Operations/OperationsClient.d.ts +13 -13
- package/Operations/OperationsClient.js +45 -86
- package/Operations/OperationsClient.min.js +1 -1
- package/Operations/index.d.ts +2 -2
- package/Operations/index.js +18 -9
- package/Operations/index.min.js +1 -1
- package/Pipelines/Pipelines.d.ts +341 -341
- package/Pipelines/Pipelines.js +82 -83
- package/Pipelines/Pipelines.min.js +1 -1
- package/Pipelines/PipelinesClient.d.ts +92 -92
- package/Pipelines/PipelinesClient.js +260 -325
- package/Pipelines/PipelinesClient.min.js +1 -1
- package/Policy/Policy.d.ts +160 -160
- package/Policy/Policy.js +38 -39
- package/Policy/Policy.min.js +1 -1
- package/Policy/PolicyClient.d.ts +99 -99
- package/Policy/PolicyClient.js +274 -346
- package/Policy/PolicyClient.min.js +1 -1
- package/Policy/index.d.ts +2 -2
- package/Policy/index.js +18 -9
- package/Policy/index.min.js +1 -1
- package/Profile/Profile.d.ts +175 -175
- package/Profile/Profile.js +35 -36
- package/Profile/Profile.min.js +1 -1
- package/Profile/ProfileClient.d.ts +86 -86
- package/Profile/ProfileClient.js +277 -347
- package/Profile/ProfileClient.min.js +1 -1
- package/Profile/index.d.ts +2 -2
- package/Profile/index.js +18 -9
- package/Profile/index.min.js +1 -1
- package/ProjectAnalysis/ProjectAnalysis.d.ts +59 -59
- package/ProjectAnalysis/ProjectAnalysis.js +18 -19
- package/ProjectAnalysis/ProjectAnalysis.min.js +1 -1
- package/ProjectAnalysis/ProjectAnalysisClient.d.ts +34 -34
- package/ProjectAnalysis/ProjectAnalysisClient.js +110 -159
- package/ProjectAnalysis/ProjectAnalysisClient.min.js +1 -1
- package/ProjectAnalysis/index.d.ts +2 -2
- package/ProjectAnalysis/index.js +18 -9
- package/ProjectAnalysis/index.min.js +1 -1
- package/README.md +57 -1
- package/Release/Release.d.ts +4068 -4068
- package/Release/Release.js +876 -877
- package/Release/Release.min.js +1 -1
- package/Release/ReleaseClient.d.ts +720 -720
- package/Release/ReleaseClient.js +2003 -2273
- package/Release/ReleaseClient.min.js +1 -1
- package/Release/index.d.ts +2 -2
- package/Release/index.js +18 -9
- package/Release/index.min.js +1 -1
- package/ResourceUsage/ResourceUsage.d.ts +13 -13
- package/ResourceUsage/ResourceUsage.js +7 -9
- package/ResourceUsage/ResourceUsage.min.js +1 -1
- package/ResourceUsage/ResourceUsageClient.d.ts +20 -20
- package/ResourceUsage/ResourceUsageClient.js +51 -93
- package/ResourceUsage/ResourceUsageClient.min.js +1 -1
- package/ServiceEndpoint/ServiceEndpoint.d.ts +894 -894
- package/ServiceEndpoint/ServiceEndpoint.js +84 -85
- package/ServiceEndpoint/ServiceEndpoint.min.js +1 -1
- package/ServiceEndpoint/ServiceEndpointClient.d.ts +190 -190
- package/ServiceEndpoint/ServiceEndpointClient.js +556 -669
- package/ServiceEndpoint/ServiceEndpointClient.min.js +1 -1
- package/ServiceEndpoint/index.d.ts +2 -2
- package/ServiceEndpoint/index.js +18 -9
- package/ServiceEndpoint/index.min.js +1 -1
- package/ServiceHooks/ServiceHooks.d.ts +758 -758
- package/ServiceHooks/ServiceHooks.js +114 -115
- package/ServiceHooks/ServiceHooks.min.js +1 -1
- package/ServiceHooks/ServiceHooksClient.d.ts +156 -156
- package/ServiceHooks/ServiceHooksClient.js +434 -526
- package/ServiceHooks/ServiceHooksClient.min.js +1 -1
- package/ServiceHooks/index.d.ts +2 -2
- package/ServiceHooks/index.js +18 -9
- package/ServiceHooks/index.min.js +1 -1
- package/TaskAgent/TaskAgent.d.ts +3777 -3777
- package/TaskAgent/TaskAgent.js +594 -594
- package/TaskAgent/TaskAgent.min.js +1 -1
- package/TaskAgent/TaskAgentClient.d.ts +1085 -1073
- package/TaskAgent/TaskAgentClient.js +3273 -3731
- package/TaskAgent/TaskAgentClient.min.js +1 -1
- package/TaskAgent/index.d.ts +2 -2
- package/TaskAgent/index.js +18 -9
- package/TaskAgent/index.min.js +1 -1
- package/Test/Test.d.ts +5918 -5874
- package/Test/Test.js +1068 -1069
- package/Test/Test.min.js +1 -1
- package/Test/TestClient.d.ts +635 -635
- package/Test/TestClient.js +1822 -2088
- package/Test/TestClient.min.js +1 -1
- package/Test/index.d.ts +2 -2
- package/Test/index.js +18 -9
- package/Test/index.min.js +1 -1
- package/TestPlan/TestPlan.d.ts +1616 -1616
- package/TestPlan/TestPlan.js +270 -271
- package/TestPlan/TestPlan.min.js +1 -1
- package/TestPlan/TestPlanClient.d.ts +408 -408
- package/TestPlan/TestPlanClient.js +1160 -1387
- package/TestPlan/TestPlanClient.min.js +1 -1
- package/TestPlan/index.d.ts +2 -2
- package/TestPlan/index.js +18 -9
- package/TestPlan/index.min.js +1 -1
- package/TestResults/TestResults.d.ts +5 -5
- package/TestResults/TestResults.js +7 -9
- package/TestResults/TestResults.min.js +1 -1
- package/TestResults/TestResultsClient.d.ts +1060 -1039
- package/TestResults/TestResultsClient.js +3099 -3491
- package/TestResults/TestResultsClient.min.js +1 -1
- package/TestResults/index.d.ts +2 -2
- package/TestResults/index.js +18 -8
- package/TestResults/index.min.js +1 -1
- package/Tfvc/Tfvc.d.ts +730 -730
- package/Tfvc/Tfvc.js +106 -107
- package/Tfvc/Tfvc.min.js +1 -1
- package/Tfvc/TfvcClient.d.ts +227 -227
- package/Tfvc/TfvcClient.js +620 -732
- package/Tfvc/TfvcClient.min.js +1 -1
- package/Tfvc/index.d.ts +2 -2
- package/Tfvc/index.js +18 -9
- package/Tfvc/index.min.js +1 -1
- package/WebApi/WebApi.d.ts +408 -408
- package/WebApi/WebApi.js +55 -56
- package/WebApi/WebApi.min.js +1 -1
- package/WebApi/index.d.ts +1 -1
- package/WebApi/index.js +17 -8
- package/WebApi/index.min.js +1 -1
- package/Wiki/Wiki.d.ts +328 -328
- package/Wiki/Wiki.js +22 -23
- package/Wiki/Wiki.min.js +1 -1
- package/Wiki/WikiClient.d.ts +218 -218
- package/Wiki/WikiClient.js +585 -684
- package/Wiki/WikiClient.min.js +1 -1
- package/Wiki/index.d.ts +2 -2
- package/Wiki/index.js +18 -9
- package/Wiki/index.min.js +1 -1
- package/Work/Work.d.ts +1298 -1298
- package/Work/Work.js +187 -188
- package/Work/Work.min.js +1 -1
- package/Work/WorkClient.d.ts +421 -421
- package/Work/WorkClient.js +1255 -1455
- package/Work/WorkClient.min.js +1 -1
- package/Work/index.d.ts +2 -2
- package/Work/index.js +18 -9
- package/Work/index.min.js +1 -1
- package/WorkItemTracking/WorkItemTracking.d.ts +2158 -2158
- package/WorkItemTracking/WorkItemTracking.js +431 -432
- package/WorkItemTracking/WorkItemTracking.min.js +1 -1
- package/WorkItemTracking/WorkItemTrackingClient.d.ts +624 -624
- package/WorkItemTracking/WorkItemTrackingClient.js +1688 -1918
- package/WorkItemTracking/WorkItemTrackingClient.min.js +1 -1
- package/WorkItemTracking/WorkItemTrackingServices.d.ts +320 -320
- package/WorkItemTracking/WorkItemTrackingServices.js +18 -19
- package/WorkItemTracking/WorkItemTrackingServices.min.js +1 -1
- package/WorkItemTracking/index.d.ts +3 -3
- package/WorkItemTracking/index.js +19 -10
- package/WorkItemTracking/index.min.js +1 -1
- package/WorkItemTrackingProcess/WorkItemTrackingProcess.d.ts +1238 -1238
- package/WorkItemTrackingProcess/WorkItemTrackingProcess.js +299 -300
- package/WorkItemTrackingProcess/WorkItemTrackingProcess.min.js +1 -1
- package/WorkItemTrackingProcess/WorkItemTrackingProcessClient.d.ts +462 -462
- package/WorkItemTrackingProcess/WorkItemTrackingProcessClient.js +1224 -1386
- package/WorkItemTrackingProcess/WorkItemTrackingProcessClient.min.js +1 -1
- package/WorkItemTrackingProcess/index.d.ts +2 -2
- package/WorkItemTrackingProcess/index.js +18 -9
- package/WorkItemTrackingProcess/index.min.js +1 -1
- package/WorkItemTrackingProcessDefinitions/WorkItemTrackingProcessDefinitions.d.ts +575 -575
- package/WorkItemTrackingProcessDefinitions/WorkItemTrackingProcessDefinitions.js +96 -97
- package/WorkItemTrackingProcessDefinitions/WorkItemTrackingProcessDefinitions.min.js +1 -1
- package/WorkItemTrackingProcessDefinitions/WorkItemTrackingProcessDefinitionsClient.d.ts +376 -376
- package/WorkItemTrackingProcessDefinitions/WorkItemTrackingProcessDefinitionsClient.js +991 -1126
- package/WorkItemTrackingProcessDefinitions/WorkItemTrackingProcessDefinitionsClient.min.js +1 -1
- package/WorkItemTrackingProcessDefinitions/index.d.ts +2 -2
- package/WorkItemTrackingProcessDefinitions/index.js +18 -9
- package/WorkItemTrackingProcessDefinitions/index.min.js +1 -1
- package/_manifest/Spdx2xVs3xComparisonToolOutput.json +4 -4
- package/_manifest/spdx_2.2/ESRPClientLogs0504231512019.json +1 -0
- package/_manifest/spdx_2.2/bsi.cose +0 -0
- package/_manifest/spdx_2.2/bsi.json +1 -1
- package/_manifest/spdx_2.2/manifest.cat +0 -0
- package/_manifest/spdx_2.2/manifest.spdx.cose +0 -0
- package/_manifest/spdx_2.2/manifest.spdx.json +1 -1
- package/_manifest/spdx_2.2/manifest.spdx.json.sha256 +1 -1
- package/_manifest/spdx_3.0/manifest.spdx.json +1 -1
- package/_manifest/spdx_3.0/manifest.spdx.json.sha256 +1 -1
- package/esm/Accounts/Accounts.js +58 -0
- package/esm/Accounts/Accounts.min.js +1 -0
- package/esm/Accounts/AccountsClient.js +59 -0
- package/esm/Accounts/AccountsClient.min.js +1 -0
- package/esm/Accounts/index.js +2 -0
- package/esm/Accounts/index.min.js +1 -0
- package/esm/AdvancedSecurity.Reporting/Reporting.js +200 -0
- package/esm/AdvancedSecurity.Reporting/Reporting.min.js +1 -0
- package/esm/AdvancedSecurity.Reporting/ReportingClient.js +228 -0
- package/esm/AdvancedSecurity.Reporting/ReportingClient.min.js +1 -0
- package/esm/Alert/Alert.js +422 -0
- package/esm/Alert/Alert.min.js +1 -0
- package/esm/Alert/AlertClient.js +457 -0
- package/esm/Alert/AlertClient.min.js +1 -0
- package/esm/Build/Build.js +610 -0
- package/esm/Build/Build.min.js +1 -0
- package/esm/Build/BuildClient.js +2108 -0
- package/esm/Build/BuildClient.min.js +1 -0
- package/esm/Build/BuildServices.js +10 -0
- package/esm/Build/BuildServices.min.js +1 -0
- package/esm/Build/index.js +3 -0
- package/esm/Build/index.min.js +1 -0
- package/esm/Comments/Comments.js +90 -0
- package/esm/Comments/Comments.min.js +1 -0
- package/esm/Comments/index.js +1 -0
- package/esm/Comments/index.min.js +1 -0
- package/esm/Common/Client.js +22 -0
- package/esm/Common/Client.min.js +1 -0
- package/esm/Common/CommonServices.js +68 -0
- package/esm/Common/CommonServices.min.js +1 -0
- package/esm/Common/Context.js +1 -0
- package/esm/Common/Fetch.js +117 -0
- package/esm/Common/Fetch.min.js +1 -0
- package/esm/Common/RestClientBase.js +92 -0
- package/esm/Common/RestClientBase.min.js +1 -0
- package/esm/Common/System.js +36 -0
- package/esm/Common/System.min.js +1 -0
- package/esm/Common/SystemData.js +135 -0
- package/esm/Common/SystemData.min.js +1 -0
- package/esm/Common/Util/Serialization.js +48 -0
- package/esm/Common/Util/Serialization.min.js +1 -0
- package/esm/Common/Util/Url.js +595 -0
- package/esm/Common/Util/Url.min.js +1 -0
- package/esm/Common/index.js +3 -0
- package/esm/Common/index.min.js +1 -0
- package/esm/Contributions/Contributions.js +182 -0
- package/esm/Contributions/Contributions.min.js +1 -0
- package/esm/Contributions/ContributionsClient.js +78 -0
- package/esm/Contributions/ContributionsClient.min.js +1 -0
- package/esm/Contributions/index.js +2 -0
- package/esm/Contributions/index.min.js +1 -0
- package/esm/Core/Core.js +76 -0
- package/esm/Core/Core.min.js +1 -0
- package/esm/Core/CoreClient.js +573 -0
- package/esm/Core/CoreClient.min.js +1 -0
- package/esm/Core/index.js +2 -0
- package/esm/Core/index.min.js +1 -0
- package/esm/Dashboard/Dashboard.js +53 -0
- package/esm/Dashboard/Dashboard.min.js +1 -0
- package/esm/Dashboard/DashboardClient.js +278 -0
- package/esm/Dashboard/DashboardClient.min.js +1 -0
- package/esm/Dashboard/WidgetConfigHelpers.js +37 -0
- package/esm/Dashboard/WidgetConfigHelpers.min.js +1 -0
- package/esm/Dashboard/WidgetContracts.js +21 -0
- package/esm/Dashboard/WidgetContracts.min.js +1 -0
- package/esm/Dashboard/WidgetHelpers.js +129 -0
- package/esm/Dashboard/WidgetHelpers.min.js +1 -0
- package/esm/Dashboard/index.js +5 -0
- package/esm/Dashboard/index.min.js +1 -0
- package/esm/DistributedTaskCommon/DistributedTaskCommon.js +6 -0
- package/esm/DistributedTaskCommon/DistributedTaskCommon.min.js +1 -0
- package/esm/DistributedTaskCommon/index.js +1 -0
- package/esm/DistributedTaskCommon/index.min.js +1 -0
- package/esm/ExtensionManagement/ExtensionManagement.js +281 -0
- package/esm/ExtensionManagement/ExtensionManagement.min.js +1 -0
- package/esm/ExtensionManagement/ExtensionManagementClient.js +486 -0
- package/esm/ExtensionManagement/ExtensionManagementClient.min.js +1 -0
- package/esm/ExtensionManagement/index.js +2 -0
- package/esm/ExtensionManagement/index.min.js +1 -0
- package/esm/Favorite/Favorite.js +6 -0
- package/esm/Favorite/Favorite.min.js +1 -0
- package/esm/Favorite/FavoriteClient.js +214 -0
- package/esm/Favorite/FavoriteClient.min.js +1 -0
- package/esm/FeatureAvailability/FeatureAvailability.js +6 -0
- package/esm/FeatureAvailability/FeatureAvailability.min.js +1 -0
- package/esm/FeatureAvailability/FeatureAvailabilityClient.js +113 -0
- package/esm/FeatureAvailability/FeatureAvailabilityClient.min.js +1 -0
- package/esm/FeatureAvailability/index.js +2 -0
- package/esm/FeatureAvailability/index.min.js +1 -0
- package/esm/FeatureManagement/FeatureManagement.js +23 -0
- package/esm/FeatureManagement/FeatureManagement.min.js +1 -0
- package/esm/FeatureManagement/FeatureManagementClient.js +183 -0
- package/esm/FeatureManagement/FeatureManagementClient.min.js +1 -0
- package/esm/FeatureManagement/index.js +2 -0
- package/esm/FeatureManagement/index.min.js +1 -0
- package/esm/FileContainer/FileContainer.js +55 -0
- package/esm/FileContainer/FileContainer.min.js +1 -0
- package/esm/FileContainer/FileContainerClient.js +111 -0
- package/esm/FileContainer/FileContainerClient.min.js +1 -0
- package/esm/FileContainer/index.js +2 -0
- package/esm/FileContainer/index.min.js +1 -0
- package/esm/FormInput/FormInput.js +74 -0
- package/esm/FormInput/FormInput.min.js +1 -0
- package/esm/FormInput/index.js +1 -0
- package/esm/FormInput/index.min.js +1 -0
- package/esm/Gallery/Gallery.js +785 -0
- package/esm/Gallery/Gallery.min.js +1 -0
- package/esm/Gallery/GalleryClient.js +1701 -0
- package/esm/Gallery/GalleryClient.min.js +1 -0
- package/esm/Gallery/index.js +2 -0
- package/esm/Gallery/index.min.js +1 -0
- package/esm/Git/CodeEditorTypes.js +24 -0
- package/esm/Git/CodeEditorTypes.min.js +1 -0
- package/esm/Git/Git.js +827 -0
- package/esm/Git/Git.min.js +1 -0
- package/esm/Git/GitClient.js +3571 -0
- package/esm/Git/GitClient.min.js +1 -0
- package/esm/Git/GitServices.js +7 -0
- package/esm/Git/GitServices.min.js +1 -0
- package/esm/Git/index.js +4 -0
- package/esm/Git/index.min.js +1 -0
- package/esm/Graph/Graph.js +11 -0
- package/esm/Graph/Graph.min.js +1 -0
- package/esm/Graph/GraphClient.js +644 -0
- package/esm/Graph/GraphClient.min.js +1 -0
- package/esm/Graph/index.js +2 -0
- package/esm/Graph/index.min.js +1 -0
- package/esm/Identities/Identities.js +46 -0
- package/esm/Identities/Identities.min.js +1 -0
- package/esm/Identities/IdentityProvider.js +43 -0
- package/esm/Identities/IdentityProvider.min.js +1 -0
- package/esm/Identities/IdentityService.js +10 -0
- package/esm/Identities/IdentityService.min.js +1 -0
- package/esm/Identities/index.js +3 -0
- package/esm/Identities/index.min.js +1 -0
- package/esm/Locations/Locations.js +25 -0
- package/esm/Locations/Locations.min.js +1 -0
- package/esm/Locations/LocationsClient.js +178 -0
- package/esm/Locations/LocationsClient.min.js +1 -0
- package/esm/Locations/index.js +2 -0
- package/esm/Locations/index.min.js +1 -0
- package/esm/Management/Management.js +24 -0
- package/esm/Management/Management.min.js +1 -0
- package/esm/Management/ManagementClient.js +302 -0
- package/esm/Management/ManagementClient.min.js +1 -0
- package/esm/Notification/Notification.js +382 -0
- package/esm/Notification/Notification.min.js +1 -0
- package/esm/Notification/NotificationClient.js +359 -0
- package/esm/Notification/NotificationClient.min.js +1 -0
- package/esm/Notification/index.js +2 -0
- package/esm/Notification/index.min.js +1 -0
- package/esm/Operations/Operations.js +35 -0
- package/esm/Operations/Operations.min.js +1 -0
- package/esm/Operations/OperationsClient.js +30 -0
- package/esm/Operations/OperationsClient.min.js +1 -0
- package/esm/Operations/index.js +2 -0
- package/esm/Operations/index.min.js +1 -0
- package/esm/Pipelines/Pipelines.js +79 -0
- package/esm/Pipelines/Pipelines.min.js +1 -0
- package/esm/Pipelines/PipelinesClient.js +227 -0
- package/esm/Pipelines/PipelinesClient.min.js +1 -0
- package/esm/Policy/Policy.js +35 -0
- package/esm/Policy/Policy.min.js +1 -0
- package/esm/Policy/PolicyClient.js +237 -0
- package/esm/Policy/PolicyClient.min.js +1 -0
- package/esm/Policy/index.js +2 -0
- package/esm/Policy/index.min.js +1 -0
- package/esm/Profile/Profile.js +32 -0
- package/esm/Profile/Profile.min.js +1 -0
- package/esm/Profile/ProfileClient.js +240 -0
- package/esm/Profile/ProfileClient.min.js +1 -0
- package/esm/Profile/index.js +2 -0
- package/esm/Profile/index.min.js +1 -0
- package/esm/ProjectAnalysis/ProjectAnalysis.js +15 -0
- package/esm/ProjectAnalysis/ProjectAnalysis.min.js +1 -0
- package/esm/ProjectAnalysis/ProjectAnalysisClient.js +89 -0
- package/esm/ProjectAnalysis/ProjectAnalysisClient.min.js +1 -0
- package/esm/ProjectAnalysis/index.js +2 -0
- package/esm/ProjectAnalysis/index.min.js +1 -0
- package/esm/Release/Release.js +873 -0
- package/esm/Release/Release.min.js +1 -0
- package/esm/Release/ReleaseClient.js +1816 -0
- package/esm/Release/ReleaseClient.min.js +1 -0
- package/esm/Release/index.js +2 -0
- package/esm/Release/index.min.js +1 -0
- package/esm/ResourceUsage/ResourceUsage.js +6 -0
- package/esm/ResourceUsage/ResourceUsage.min.js +1 -0
- package/esm/ResourceUsage/ResourceUsageClient.js +34 -0
- package/esm/ResourceUsage/ResourceUsageClient.min.js +1 -0
- package/esm/ServiceEndpoint/ServiceEndpoint.js +81 -0
- package/esm/ServiceEndpoint/ServiceEndpoint.min.js +1 -0
- package/esm/ServiceEndpoint/ServiceEndpointClient.js +489 -0
- package/esm/ServiceEndpoint/ServiceEndpointClient.min.js +1 -0
- package/esm/ServiceEndpoint/index.js +2 -0
- package/esm/ServiceEndpoint/index.min.js +1 -0
- package/esm/ServiceHooks/ServiceHooks.js +111 -0
- package/esm/ServiceHooks/ServiceHooks.min.js +1 -0
- package/esm/ServiceHooks/ServiceHooksClient.js +375 -0
- package/esm/ServiceHooks/ServiceHooksClient.min.js +1 -0
- package/esm/ServiceHooks/index.js +2 -0
- package/esm/ServiceHooks/index.min.js +1 -0
- package/esm/TaskAgent/TaskAgent.js +590 -0
- package/esm/TaskAgent/TaskAgent.min.js +1 -0
- package/esm/TaskAgent/TaskAgentClient.js +2946 -0
- package/esm/TaskAgent/TaskAgentClient.min.js +1 -0
- package/esm/TaskAgent/index.js +2 -0
- package/esm/TaskAgent/index.min.js +1 -0
- package/esm/Test/Test.js +1065 -0
- package/esm/Test/Test.min.js +1 -0
- package/esm/Test/TestClient.js +1655 -0
- package/esm/Test/TestClient.min.js +1 -0
- package/esm/Test/index.js +2 -0
- package/esm/Test/index.min.js +1 -0
- package/esm/TestPlan/TestPlan.js +267 -0
- package/esm/TestPlan/TestPlan.min.js +1 -0
- package/esm/TestPlan/TestPlanClient.js +1051 -0
- package/esm/TestPlan/TestPlanClient.min.js +1 -0
- package/esm/TestPlan/index.js +2 -0
- package/esm/TestPlan/index.min.js +1 -0
- package/esm/TestResults/TestResults.js +6 -0
- package/esm/TestResults/TestResults.min.js +1 -0
- package/esm/TestResults/TestResultsClient.js +2822 -0
- package/esm/TestResults/TestResultsClient.min.js +1 -0
- package/esm/TestResults/index.js +2 -0
- package/esm/TestResults/index.min.js +1 -0
- package/esm/Tfvc/Tfvc.js +103 -0
- package/esm/Tfvc/Tfvc.min.js +1 -0
- package/esm/Tfvc/TfvcClient.js +559 -0
- package/esm/Tfvc/TfvcClient.min.js +1 -0
- package/esm/Tfvc/index.js +2 -0
- package/esm/Tfvc/index.min.js +1 -0
- package/esm/WebApi/WebApi.js +52 -0
- package/esm/WebApi/WebApi.min.js +1 -0
- package/esm/WebApi/index.js +1 -0
- package/esm/WebApi/index.min.js +1 -0
- package/esm/Wiki/Wiki.js +19 -0
- package/esm/Wiki/Wiki.min.js +1 -0
- package/esm/Wiki/WikiClient.js +528 -0
- package/esm/Wiki/WikiClient.min.js +1 -0
- package/esm/Wiki/index.js +2 -0
- package/esm/Wiki/index.min.js +1 -0
- package/esm/Work/Work.js +184 -0
- package/esm/Work/Work.min.js +1 -0
- package/esm/Work/WorkClient.js +1128 -0
- package/esm/Work/WorkClient.min.js +1 -0
- package/esm/Work/index.js +2 -0
- package/esm/Work/index.min.js +1 -0
- package/esm/WorkItemTracking/WorkItemTracking.js +428 -0
- package/esm/WorkItemTracking/WorkItemTracking.min.js +1 -0
- package/esm/WorkItemTracking/WorkItemTrackingClient.js +1525 -0
- package/esm/WorkItemTracking/WorkItemTrackingClient.min.js +1 -0
- package/esm/WorkItemTracking/WorkItemTrackingServices.js +15 -0
- package/esm/WorkItemTracking/WorkItemTrackingServices.min.js +1 -0
- package/esm/WorkItemTracking/index.js +3 -0
- package/esm/WorkItemTracking/index.min.js +1 -0
- package/esm/WorkItemTrackingProcess/WorkItemTrackingProcess.js +296 -0
- package/esm/WorkItemTrackingProcess/WorkItemTrackingProcess.min.js +1 -0
- package/esm/WorkItemTrackingProcess/WorkItemTrackingProcessClient.js +1097 -0
- package/esm/WorkItemTrackingProcess/WorkItemTrackingProcessClient.min.js +1 -0
- package/esm/WorkItemTrackingProcess/index.js +2 -0
- package/esm/WorkItemTrackingProcess/index.min.js +1 -0
- package/esm/WorkItemTrackingProcessDefinitions/WorkItemTrackingProcessDefinitions.js +93 -0
- package/esm/WorkItemTrackingProcessDefinitions/WorkItemTrackingProcessDefinitions.min.js +1 -0
- package/esm/WorkItemTrackingProcessDefinitions/WorkItemTrackingProcessDefinitionsClient.js +886 -0
- package/esm/WorkItemTrackingProcessDefinitions/WorkItemTrackingProcessDefinitionsClient.min.js +1 -0
- package/esm/WorkItemTrackingProcessDefinitions/index.js +2 -0
- package/esm/WorkItemTrackingProcessDefinitions/index.min.js +1 -0
- package/esm/index.js +1 -0
- package/esm/index.min.js +1 -0
- package/index.d.ts +1 -1
- package/index.js +17 -8
- package/index.min.js +1 -1
- package/package.json +232 -37
- package/Boards/Boards.d.ts +0 -631
- package/Boards/Boards.js +0 -26
- package/Boards/Boards.min.js +0 -1
- package/Boards/BoardsClient.d.ts +0 -187
- package/Boards/BoardsClient.js +0 -589
- package/Boards/BoardsClient.min.js +0 -1
- package/Boards/index.d.ts +0 -2
- package/Boards/index.js +0 -9
- package/Boards/index.min.js +0 -1
- package/_manifest/spdx_2.2/ESRPClientLogs0331143549591.json +0 -1
- package/_manifest/spdx_3.0/ESRPClientLogs0331143549461.json +0 -1
- package/_manifest/spdx_3.0/bsi.cose +0 -0
- package/_manifest/spdx_3.0/bsi.json +0 -1
- package/_manifest/spdx_3.0/manifest.cat +0 -0
- package/_manifest/spdx_3.0/manifest.spdx.cose +0 -0
package/Common/Util/Url.js
CHANGED
|
@@ -1,626 +1,605 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
*
|
|
4
|
-
*
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
this.
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
this.
|
|
131
|
-
}
|
|
132
|
-
}
|
|
133
|
-
else {
|
|
134
|
-
//
|
|
135
|
-
this.
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
|
|
183
|
-
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
|
|
188
|
-
|
|
189
|
-
|
|
190
|
-
|
|
191
|
-
|
|
192
|
-
|
|
193
|
-
|
|
194
|
-
|
|
195
|
-
|
|
196
|
-
|
|
197
|
-
|
|
198
|
-
|
|
199
|
-
|
|
200
|
-
|
|
201
|
-
|
|
202
|
-
|
|
203
|
-
|
|
204
|
-
|
|
205
|
-
|
|
206
|
-
|
|
207
|
-
|
|
208
|
-
|
|
209
|
-
|
|
210
|
-
|
|
211
|
-
|
|
212
|
-
|
|
213
|
-
|
|
214
|
-
|
|
215
|
-
|
|
216
|
-
|
|
217
|
-
|
|
218
|
-
|
|
219
|
-
|
|
220
|
-
|
|
221
|
-
|
|
222
|
-
|
|
223
|
-
|
|
224
|
-
|
|
225
|
-
|
|
226
|
-
|
|
227
|
-
|
|
228
|
-
|
|
229
|
-
|
|
230
|
-
|
|
231
|
-
|
|
232
|
-
|
|
233
|
-
|
|
234
|
-
|
|
235
|
-
|
|
236
|
-
|
|
237
|
-
|
|
238
|
-
|
|
239
|
-
|
|
240
|
-
|
|
241
|
-
|
|
242
|
-
|
|
243
|
-
|
|
244
|
-
|
|
245
|
-
|
|
246
|
-
|
|
247
|
-
|
|
248
|
-
|
|
249
|
-
|
|
250
|
-
|
|
251
|
-
|
|
252
|
-
|
|
253
|
-
|
|
254
|
-
|
|
255
|
-
|
|
256
|
-
|
|
257
|
-
|
|
258
|
-
|
|
259
|
-
|
|
260
|
-
|
|
261
|
-
|
|
262
|
-
|
|
263
|
-
|
|
264
|
-
|
|
265
|
-
|
|
266
|
-
|
|
267
|
-
|
|
268
|
-
|
|
269
|
-
|
|
270
|
-
|
|
271
|
-
|
|
272
|
-
|
|
273
|
-
|
|
274
|
-
|
|
275
|
-
|
|
276
|
-
|
|
277
|
-
|
|
278
|
-
|
|
279
|
-
|
|
280
|
-
|
|
281
|
-
|
|
282
|
-
|
|
283
|
-
|
|
284
|
-
|
|
285
|
-
|
|
286
|
-
|
|
287
|
-
|
|
288
|
-
|
|
289
|
-
|
|
290
|
-
|
|
291
|
-
|
|
292
|
-
|
|
293
|
-
|
|
294
|
-
|
|
295
|
-
|
|
296
|
-
|
|
297
|
-
|
|
298
|
-
|
|
299
|
-
|
|
300
|
-
|
|
301
|
-
|
|
302
|
-
|
|
303
|
-
|
|
304
|
-
|
|
305
|
-
|
|
306
|
-
|
|
307
|
-
|
|
308
|
-
|
|
309
|
-
|
|
310
|
-
|
|
311
|
-
|
|
312
|
-
|
|
313
|
-
|
|
314
|
-
|
|
315
|
-
|
|
316
|
-
|
|
317
|
-
|
|
318
|
-
|
|
319
|
-
|
|
320
|
-
|
|
321
|
-
|
|
322
|
-
|
|
323
|
-
|
|
324
|
-
|
|
325
|
-
|
|
326
|
-
|
|
327
|
-
|
|
328
|
-
|
|
329
|
-
|
|
330
|
-
|
|
331
|
-
|
|
332
|
-
|
|
333
|
-
|
|
334
|
-
|
|
335
|
-
|
|
336
|
-
|
|
337
|
-
|
|
338
|
-
|
|
339
|
-
|
|
340
|
-
|
|
341
|
-
|
|
342
|
-
|
|
343
|
-
|
|
344
|
-
|
|
345
|
-
|
|
346
|
-
|
|
347
|
-
|
|
348
|
-
|
|
349
|
-
|
|
350
|
-
|
|
351
|
-
|
|
352
|
-
|
|
353
|
-
|
|
354
|
-
|
|
355
|
-
|
|
356
|
-
|
|
357
|
-
|
|
358
|
-
|
|
359
|
-
|
|
360
|
-
|
|
361
|
-
|
|
362
|
-
|
|
363
|
-
|
|
364
|
-
|
|
365
|
-
|
|
366
|
-
|
|
367
|
-
|
|
368
|
-
|
|
369
|
-
|
|
370
|
-
|
|
371
|
-
|
|
372
|
-
|
|
373
|
-
|
|
374
|
-
|
|
375
|
-
|
|
376
|
-
|
|
377
|
-
|
|
378
|
-
|
|
379
|
-
|
|
380
|
-
|
|
381
|
-
|
|
382
|
-
|
|
383
|
-
|
|
384
|
-
|
|
385
|
-
|
|
386
|
-
|
|
387
|
-
|
|
388
|
-
|
|
389
|
-
|
|
390
|
-
|
|
391
|
-
|
|
392
|
-
|
|
393
|
-
|
|
394
|
-
|
|
395
|
-
|
|
396
|
-
|
|
397
|
-
|
|
398
|
-
|
|
399
|
-
|
|
400
|
-
|
|
401
|
-
|
|
402
|
-
|
|
403
|
-
|
|
404
|
-
|
|
405
|
-
|
|
406
|
-
|
|
407
|
-
|
|
408
|
-
|
|
409
|
-
|
|
410
|
-
|
|
411
|
-
|
|
412
|
-
|
|
413
|
-
|
|
414
|
-
|
|
415
|
-
|
|
416
|
-
|
|
417
|
-
|
|
418
|
-
|
|
419
|
-
|
|
420
|
-
|
|
421
|
-
|
|
422
|
-
|
|
423
|
-
|
|
424
|
-
|
|
425
|
-
|
|
426
|
-
|
|
427
|
-
|
|
428
|
-
|
|
429
|
-
|
|
430
|
-
|
|
431
|
-
|
|
432
|
-
|
|
433
|
-
|
|
434
|
-
|
|
435
|
-
|
|
436
|
-
|
|
437
|
-
|
|
438
|
-
|
|
439
|
-
|
|
440
|
-
|
|
441
|
-
|
|
442
|
-
|
|
443
|
-
|
|
444
|
-
|
|
445
|
-
|
|
446
|
-
|
|
447
|
-
|
|
448
|
-
|
|
449
|
-
|
|
450
|
-
|
|
451
|
-
|
|
452
|
-
|
|
453
|
-
|
|
454
|
-
|
|
455
|
-
|
|
456
|
-
|
|
457
|
-
|
|
458
|
-
|
|
459
|
-
|
|
460
|
-
|
|
461
|
-
|
|
462
|
-
|
|
463
|
-
|
|
464
|
-
|
|
465
|
-
|
|
466
|
-
|
|
467
|
-
|
|
468
|
-
|
|
469
|
-
|
|
470
|
-
|
|
471
|
-
|
|
472
|
-
|
|
473
|
-
|
|
474
|
-
|
|
475
|
-
|
|
476
|
-
|
|
477
|
-
|
|
478
|
-
|
|
479
|
-
|
|
480
|
-
|
|
481
|
-
|
|
482
|
-
|
|
483
|
-
|
|
484
|
-
|
|
485
|
-
|
|
486
|
-
|
|
487
|
-
|
|
488
|
-
|
|
489
|
-
|
|
490
|
-
|
|
491
|
-
|
|
492
|
-
|
|
493
|
-
|
|
494
|
-
|
|
495
|
-
|
|
496
|
-
|
|
497
|
-
|
|
498
|
-
|
|
499
|
-
|
|
500
|
-
|
|
501
|
-
|
|
502
|
-
|
|
503
|
-
|
|
504
|
-
|
|
505
|
-
|
|
506
|
-
|
|
507
|
-
|
|
508
|
-
|
|
509
|
-
|
|
510
|
-
|
|
511
|
-
|
|
512
|
-
|
|
513
|
-
|
|
514
|
-
|
|
515
|
-
|
|
516
|
-
|
|
517
|
-
|
|
518
|
-
|
|
519
|
-
|
|
520
|
-
|
|
521
|
-
|
|
522
|
-
|
|
523
|
-
|
|
524
|
-
|
|
525
|
-
|
|
526
|
-
|
|
527
|
-
|
|
528
|
-
|
|
529
|
-
|
|
530
|
-
|
|
531
|
-
|
|
532
|
-
|
|
533
|
-
|
|
534
|
-
|
|
535
|
-
|
|
536
|
-
|
|
537
|
-
|
|
538
|
-
|
|
539
|
-
|
|
540
|
-
|
|
541
|
-
|
|
542
|
-
|
|
543
|
-
|
|
544
|
-
|
|
545
|
-
|
|
546
|
-
|
|
547
|
-
|
|
548
|
-
|
|
549
|
-
|
|
550
|
-
|
|
551
|
-
|
|
552
|
-
|
|
553
|
-
|
|
554
|
-
|
|
555
|
-
|
|
556
|
-
|
|
557
|
-
|
|
558
|
-
|
|
559
|
-
|
|
560
|
-
|
|
561
|
-
|
|
562
|
-
|
|
563
|
-
|
|
564
|
-
|
|
565
|
-
|
|
566
|
-
|
|
567
|
-
|
|
568
|
-
|
|
569
|
-
|
|
570
|
-
|
|
571
|
-
|
|
572
|
-
|
|
573
|
-
}
|
|
574
|
-
}
|
|
575
|
-
if (
|
|
576
|
-
|
|
577
|
-
|
|
578
|
-
|
|
579
|
-
|
|
580
|
-
|
|
581
|
-
|
|
582
|
-
|
|
583
|
-
|
|
584
|
-
|
|
585
|
-
|
|
586
|
-
|
|
587
|
-
|
|
588
|
-
|
|
589
|
-
|
|
590
|
-
|
|
591
|
-
|
|
592
|
-
|
|
593
|
-
|
|
594
|
-
|
|
595
|
-
|
|
596
|
-
|
|
597
|
-
|
|
598
|
-
|
|
599
|
-
|
|
600
|
-
|
|
601
|
-
|
|
602
|
-
|
|
603
|
-
|
|
604
|
-
|
|
605
|
-
|
|
606
|
-
}
|
|
607
|
-
}
|
|
608
|
-
return {
|
|
609
|
-
url: urlParts.join(""),
|
|
610
|
-
matchedParameters: matchedParameters,
|
|
611
|
-
matchedParametersCount: matchedParametersCount
|
|
612
|
-
};
|
|
613
|
-
}
|
|
614
|
-
exports.replaceParsedRouteValues = replaceParsedRouteValues;
|
|
615
|
-
/**
|
|
616
|
-
* Take an MVC route template (like "/foo/{id}/{*params}") and replace the templated parts with values from the given dictionary
|
|
617
|
-
*
|
|
618
|
-
* @param routeTemplate MVC route template (like "/foo/{id}/{*params}")
|
|
619
|
-
* @param routeValues Route value replacements
|
|
620
|
-
*/
|
|
621
|
-
function replaceRouteValues(routeTemplate, routeValues) {
|
|
622
|
-
var parsedRoute = parseRouteTemplate(routeTemplate);
|
|
623
|
-
return replaceParsedRouteValues(parsedRoute, routeValues, true).url;
|
|
624
|
-
}
|
|
625
|
-
exports.replaceRouteValues = replaceRouteValues;
|
|
626
|
-
});
|
|
1
|
+
"use strict";
|
|
2
|
+
/*
|
|
3
|
+
* ---------------------------------------------------------
|
|
4
|
+
* Copyright(C) Microsoft Corporation. All rights reserved.
|
|
5
|
+
* ---------------------------------------------------------
|
|
6
|
+
*/
|
|
7
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
8
|
+
exports.Uri = void 0;
|
|
9
|
+
exports.combineUrlPaths = combineUrlPaths;
|
|
10
|
+
exports.parseRouteTemplate = parseRouteTemplate;
|
|
11
|
+
exports.routeUrl = routeUrl;
|
|
12
|
+
exports.getBestRouteMatch = getBestRouteMatch;
|
|
13
|
+
exports.replaceParsedRouteValues = replaceParsedRouteValues;
|
|
14
|
+
exports.replaceRouteValues = replaceRouteValues;
|
|
15
|
+
/**
|
|
16
|
+
* Key constants used by route parsing.
|
|
17
|
+
*/
|
|
18
|
+
var KeyCodes;
|
|
19
|
+
(function (KeyCodes) {
|
|
20
|
+
KeyCodes[KeyCodes["asterisk"] = 42] = "asterisk";
|
|
21
|
+
KeyCodes[KeyCodes["endCurlyBrace"] = 125] = "endCurlyBrace";
|
|
22
|
+
KeyCodes[KeyCodes["startCurlyBrace"] = 123] = "startCurlyBrace";
|
|
23
|
+
})(KeyCodes || (KeyCodes = {}));
|
|
24
|
+
function prepareForComparison(value, upperCase) {
|
|
25
|
+
return value ? (upperCase ? value.toLocaleUpperCase() : value) : "";
|
|
26
|
+
}
|
|
27
|
+
function stringEquals(str1, str2, ignoreCase) {
|
|
28
|
+
if (str1 === str2) {
|
|
29
|
+
return true;
|
|
30
|
+
}
|
|
31
|
+
return prepareForComparison(str1, ignoreCase).localeCompare(prepareForComparison(str2, ignoreCase)) === 0;
|
|
32
|
+
}
|
|
33
|
+
/**
|
|
34
|
+
* Class that represents a Uri and allows parsing/getting and setting of individual parts
|
|
35
|
+
*/
|
|
36
|
+
class Uri {
|
|
37
|
+
/**
|
|
38
|
+
* Create a new Uri.
|
|
39
|
+
*
|
|
40
|
+
* @param uri Optional uri string to populate values with
|
|
41
|
+
* @param options Options for parsing the uri string
|
|
42
|
+
*/
|
|
43
|
+
constructor(uri, options) {
|
|
44
|
+
/**
|
|
45
|
+
* The uri scheme such as http or https
|
|
46
|
+
*/
|
|
47
|
+
this.scheme = "";
|
|
48
|
+
/**
|
|
49
|
+
* If true, do not emit the "//" separator after the scheme:
|
|
50
|
+
* Set to true for schemes like mailto (e.g. mailto:foo@bar)
|
|
51
|
+
*/
|
|
52
|
+
this.noSchemeSeparator = false;
|
|
53
|
+
/**
|
|
54
|
+
* The uri hostname (does not include port or scheme)
|
|
55
|
+
*/
|
|
56
|
+
this.host = "";
|
|
57
|
+
/**
|
|
58
|
+
* The port number of the uri as supplied in the url. 0 if left out in the url (e.g. the default port for the scheme).
|
|
59
|
+
*/
|
|
60
|
+
this.port = 0;
|
|
61
|
+
/**
|
|
62
|
+
* The relative path of the uri
|
|
63
|
+
*/
|
|
64
|
+
this.path = "";
|
|
65
|
+
/**
|
|
66
|
+
* The array of query parameters in the uri
|
|
67
|
+
*/
|
|
68
|
+
this.queryParameters = [];
|
|
69
|
+
/**
|
|
70
|
+
* The hash string of the uri
|
|
71
|
+
*/
|
|
72
|
+
this.hashString = "";
|
|
73
|
+
if (uri) {
|
|
74
|
+
this._setFromUriString(uri, options);
|
|
75
|
+
}
|
|
76
|
+
}
|
|
77
|
+
_setFromUriString(uriString, options) {
|
|
78
|
+
let uri = uriString;
|
|
79
|
+
// Parse out the hash string
|
|
80
|
+
let hashSplit = this._singleSplit(uri, "#");
|
|
81
|
+
if (hashSplit) {
|
|
82
|
+
uri = hashSplit.part1;
|
|
83
|
+
this.hashString = this._decodeUriComponent(hashSplit.part2);
|
|
84
|
+
}
|
|
85
|
+
else {
|
|
86
|
+
this.hashString = "";
|
|
87
|
+
}
|
|
88
|
+
// Parse the query parameters
|
|
89
|
+
let querySplit = this._singleSplit(uri, "?");
|
|
90
|
+
if (querySplit) {
|
|
91
|
+
uri = querySplit.part1;
|
|
92
|
+
this.queryString = querySplit.part2;
|
|
93
|
+
}
|
|
94
|
+
else {
|
|
95
|
+
this.queryParameters = [];
|
|
96
|
+
}
|
|
97
|
+
this.scheme = "";
|
|
98
|
+
this.host = "";
|
|
99
|
+
this.port = 0;
|
|
100
|
+
this.path = "";
|
|
101
|
+
// Parse out the scheme components of the uri
|
|
102
|
+
this.noSchemeSeparator = false;
|
|
103
|
+
const schemeSplit = this._singleSplit(uri, ":");
|
|
104
|
+
if (schemeSplit) {
|
|
105
|
+
this.scheme = schemeSplit.part1;
|
|
106
|
+
uri = schemeSplit.part2;
|
|
107
|
+
if (uri.substr(0, 2) === "//") {
|
|
108
|
+
uri = uri.substr(2);
|
|
109
|
+
// Parse out the path part of the uri
|
|
110
|
+
const pathSplit = this._singleSplit(uri, "/");
|
|
111
|
+
if (pathSplit) {
|
|
112
|
+
uri = pathSplit.part1;
|
|
113
|
+
this.path = pathSplit.part2;
|
|
114
|
+
}
|
|
115
|
+
else {
|
|
116
|
+
this.path = "";
|
|
117
|
+
}
|
|
118
|
+
// Parse out the port number
|
|
119
|
+
const portSplit = this._singleSplit(uri, ":");
|
|
120
|
+
if (portSplit) {
|
|
121
|
+
this.host = portSplit.part1;
|
|
122
|
+
this.port = parseInt(portSplit.part2);
|
|
123
|
+
if (isNaN(this.port)) {
|
|
124
|
+
// Segment after : was not a port, consider it part of the path
|
|
125
|
+
this.host += ":";
|
|
126
|
+
this.path = portSplit.part2 + "/" + this.path;
|
|
127
|
+
}
|
|
128
|
+
}
|
|
129
|
+
else {
|
|
130
|
+
this.host = uri;
|
|
131
|
+
}
|
|
132
|
+
}
|
|
133
|
+
else {
|
|
134
|
+
// No host for schemes like mailto: just use path
|
|
135
|
+
this.noSchemeSeparator = true;
|
|
136
|
+
this.path = uri;
|
|
137
|
+
}
|
|
138
|
+
}
|
|
139
|
+
else {
|
|
140
|
+
// Relative Url was given
|
|
141
|
+
this.path = uri;
|
|
142
|
+
}
|
|
143
|
+
if (options && options.absoluteUriRequired && !this.scheme) {
|
|
144
|
+
throw new Error(`The uri string "${uriString}" does not represent a valid absolute uri.`);
|
|
145
|
+
}
|
|
146
|
+
}
|
|
147
|
+
_singleSplit(value, separator) {
|
|
148
|
+
const matchIndex = value.indexOf(separator);
|
|
149
|
+
if (matchIndex >= 0) {
|
|
150
|
+
return {
|
|
151
|
+
part1: value.substr(0, matchIndex),
|
|
152
|
+
part2: value.substr(matchIndex + 1)
|
|
153
|
+
};
|
|
154
|
+
}
|
|
155
|
+
else {
|
|
156
|
+
return undefined;
|
|
157
|
+
}
|
|
158
|
+
}
|
|
159
|
+
_decodeUriComponent(value) {
|
|
160
|
+
if (value) {
|
|
161
|
+
// Replace "+" character with %20.
|
|
162
|
+
value = value.replace(/\+/g, "%20");
|
|
163
|
+
value = decodeURIComponent(value);
|
|
164
|
+
}
|
|
165
|
+
return value;
|
|
166
|
+
}
|
|
167
|
+
/**
|
|
168
|
+
* Get the absolute uri string for this Uri
|
|
169
|
+
*/
|
|
170
|
+
get absoluteUri() {
|
|
171
|
+
let uri = "";
|
|
172
|
+
if (this.scheme) {
|
|
173
|
+
uri = encodeURI(decodeURI(this.scheme)) + ":";
|
|
174
|
+
if (!this.noSchemeSeparator) {
|
|
175
|
+
uri += "//";
|
|
176
|
+
}
|
|
177
|
+
}
|
|
178
|
+
if (this.host) {
|
|
179
|
+
uri += encodeURI(decodeURI(this.host));
|
|
180
|
+
if (this.port) {
|
|
181
|
+
uri += ":" + this.port;
|
|
182
|
+
}
|
|
183
|
+
if (!this.noSchemeSeparator || this.path) {
|
|
184
|
+
uri += "/";
|
|
185
|
+
}
|
|
186
|
+
}
|
|
187
|
+
if (this.path) {
|
|
188
|
+
let encodedPath;
|
|
189
|
+
if (this.noSchemeSeparator) {
|
|
190
|
+
// Only do simple encoding for schemes like mailto: or blob: where
|
|
191
|
+
// we can't determine host versus path
|
|
192
|
+
encodedPath = encodeURI(decodeURI(this.path));
|
|
193
|
+
}
|
|
194
|
+
else {
|
|
195
|
+
const parts = this.path.split('/');
|
|
196
|
+
encodedPath = parts.map(p => encodeURIComponent(decodeURIComponent(p))).join("/");
|
|
197
|
+
}
|
|
198
|
+
if (this.host) {
|
|
199
|
+
uri = combineUrlPaths(uri, encodedPath);
|
|
200
|
+
}
|
|
201
|
+
else {
|
|
202
|
+
uri = uri + encodedPath;
|
|
203
|
+
}
|
|
204
|
+
}
|
|
205
|
+
const queryString = this.queryString;
|
|
206
|
+
if (queryString) {
|
|
207
|
+
uri += "?" + queryString;
|
|
208
|
+
}
|
|
209
|
+
if (this.hashString) {
|
|
210
|
+
const params = this._splitStringIntoParams(this.hashString);
|
|
211
|
+
const encodedString = this._getParamsAsString(params);
|
|
212
|
+
uri += "#" + encodedString;
|
|
213
|
+
}
|
|
214
|
+
return uri;
|
|
215
|
+
}
|
|
216
|
+
/**
|
|
217
|
+
* Set the absolute uri string for this Uri. Replaces all existing values
|
|
218
|
+
*/
|
|
219
|
+
set absoluteUri(uri) {
|
|
220
|
+
this._setFromUriString(uri || "");
|
|
221
|
+
}
|
|
222
|
+
/**
|
|
223
|
+
* Gets the effective port number, returning the default port number if omitted for the given scheme.
|
|
224
|
+
*/
|
|
225
|
+
getEffectivePort() {
|
|
226
|
+
if (this.port) {
|
|
227
|
+
return this.port;
|
|
228
|
+
}
|
|
229
|
+
else {
|
|
230
|
+
if (stringEquals(this.scheme, "http", true)) {
|
|
231
|
+
return 80;
|
|
232
|
+
}
|
|
233
|
+
else if (stringEquals(this.scheme, "https", true)) {
|
|
234
|
+
return 443;
|
|
235
|
+
}
|
|
236
|
+
else {
|
|
237
|
+
return 0;
|
|
238
|
+
}
|
|
239
|
+
}
|
|
240
|
+
}
|
|
241
|
+
/**
|
|
242
|
+
* Builds an encoded key/value pair string
|
|
243
|
+
* like query string or hash strings
|
|
244
|
+
*/
|
|
245
|
+
_getParamsAsString(params) {
|
|
246
|
+
if (params && params.length) {
|
|
247
|
+
return params.map((param) => {
|
|
248
|
+
if (param.value !== null) {
|
|
249
|
+
return encodeURIComponent(param.name) + "=" + encodeURIComponent(param.value);
|
|
250
|
+
}
|
|
251
|
+
else {
|
|
252
|
+
return encodeURIComponent(param.name);
|
|
253
|
+
}
|
|
254
|
+
}).join("&");
|
|
255
|
+
}
|
|
256
|
+
else {
|
|
257
|
+
return "";
|
|
258
|
+
}
|
|
259
|
+
}
|
|
260
|
+
/**
|
|
261
|
+
* Get the query string for this Uri.
|
|
262
|
+
*/
|
|
263
|
+
get queryString() {
|
|
264
|
+
return this._getParamsAsString(this.queryParameters);
|
|
265
|
+
}
|
|
266
|
+
/**
|
|
267
|
+
* Set the query string for this Uri. Replaces existing value
|
|
268
|
+
*/
|
|
269
|
+
set queryString(queryString) {
|
|
270
|
+
this.queryParameters = this._splitStringIntoParams(queryString);
|
|
271
|
+
}
|
|
272
|
+
/**
|
|
273
|
+
* Coverts a key/value pair string into parameters array
|
|
274
|
+
* @param paramString String such as a=b&c=d
|
|
275
|
+
*/
|
|
276
|
+
_splitStringIntoParams(paramString) {
|
|
277
|
+
let params = [];
|
|
278
|
+
paramString.split('&').forEach((pair) => {
|
|
279
|
+
if (pair) {
|
|
280
|
+
const valueSplit = this._singleSplit(pair, "=");
|
|
281
|
+
if (valueSplit) {
|
|
282
|
+
params.push({
|
|
283
|
+
name: this._decodeUriComponent(valueSplit.part1),
|
|
284
|
+
value: this._decodeUriComponent(valueSplit.part2)
|
|
285
|
+
});
|
|
286
|
+
}
|
|
287
|
+
else {
|
|
288
|
+
params.push({
|
|
289
|
+
name: this._decodeUriComponent(pair),
|
|
290
|
+
value: null
|
|
291
|
+
});
|
|
292
|
+
}
|
|
293
|
+
}
|
|
294
|
+
});
|
|
295
|
+
return params;
|
|
296
|
+
}
|
|
297
|
+
/**
|
|
298
|
+
* Get the value of the query parameter with the given key
|
|
299
|
+
*
|
|
300
|
+
* @param name Query parameter name
|
|
301
|
+
*/
|
|
302
|
+
getQueryParam(name) {
|
|
303
|
+
let value;
|
|
304
|
+
if (this.queryParameters) {
|
|
305
|
+
let matchingPairs = this.queryParameters.filter(p => stringEquals(p.name, name, true));
|
|
306
|
+
if (matchingPairs.length > 0) {
|
|
307
|
+
value = matchingPairs[0].value;
|
|
308
|
+
}
|
|
309
|
+
}
|
|
310
|
+
return value;
|
|
311
|
+
}
|
|
312
|
+
/**
|
|
313
|
+
* Adds a query string parameter to the current uri
|
|
314
|
+
*
|
|
315
|
+
* @param name The Query parameter name
|
|
316
|
+
* @param value The Query parameter value
|
|
317
|
+
* @param replaceExisting If true, replace all existing parameters with the same name
|
|
318
|
+
*/
|
|
319
|
+
addQueryParam(name, value, replaceExisting) {
|
|
320
|
+
if (replaceExisting) {
|
|
321
|
+
this.removeQueryParam(name);
|
|
322
|
+
}
|
|
323
|
+
if (!this.queryParameters) {
|
|
324
|
+
this.queryParameters = [];
|
|
325
|
+
}
|
|
326
|
+
this.queryParameters.push({ name: name, value: value });
|
|
327
|
+
}
|
|
328
|
+
/**
|
|
329
|
+
* Adds query string parameters to the current uri
|
|
330
|
+
*
|
|
331
|
+
* @param parameters Query parameters to add
|
|
332
|
+
* @param replaceExisting If true, replace all existing parameters with the same name
|
|
333
|
+
* @param keyPrefix If specified, a value to prepend to all query parameter keys
|
|
334
|
+
*/
|
|
335
|
+
addQueryParams(parameters, replaceExisting, keyPrefix) {
|
|
336
|
+
for (const key in parameters) {
|
|
337
|
+
const value = parameters[key];
|
|
338
|
+
if (value !== null && value !== undefined) {
|
|
339
|
+
const keyWithPrefix = (keyPrefix || "") + key;
|
|
340
|
+
if (value instanceof Date) {
|
|
341
|
+
this.addQueryParam(keyWithPrefix, value.toJSON(), replaceExisting);
|
|
342
|
+
}
|
|
343
|
+
else if (Array.isArray(value)) {
|
|
344
|
+
value.forEach(v => this.addQueryParam(keyWithPrefix, "" + v, replaceExisting));
|
|
345
|
+
}
|
|
346
|
+
else if (typeof value === "object") {
|
|
347
|
+
this.addQueryParams(value, replaceExisting, keyWithPrefix + ".");
|
|
348
|
+
}
|
|
349
|
+
else {
|
|
350
|
+
this.addQueryParam(keyWithPrefix, "" + value, replaceExisting);
|
|
351
|
+
}
|
|
352
|
+
}
|
|
353
|
+
}
|
|
354
|
+
}
|
|
355
|
+
/**
|
|
356
|
+
* Removes a query string parameter
|
|
357
|
+
*
|
|
358
|
+
* @param name The Query parameter name
|
|
359
|
+
*/
|
|
360
|
+
removeQueryParam(name) {
|
|
361
|
+
if (this.queryParameters) {
|
|
362
|
+
this.queryParameters = this.queryParameters.filter(p => !stringEquals(p.name, name, true));
|
|
363
|
+
}
|
|
364
|
+
}
|
|
365
|
+
}
|
|
366
|
+
exports.Uri = Uri;
|
|
367
|
+
/**
|
|
368
|
+
* Take url segments and join them with a single slash character. Takes care of path segements that start and/or end
|
|
369
|
+
* with a slash to ensure that the resulting URL does not have double-slashes
|
|
370
|
+
*
|
|
371
|
+
* @param paths Path segments to concatenate
|
|
372
|
+
*/
|
|
373
|
+
function combineUrlPaths(...paths) {
|
|
374
|
+
let segmentsToJoin = [];
|
|
375
|
+
// Trim leading and trailing slash in each segment
|
|
376
|
+
for (let i = 0, last = paths.length - 1; i <= last; i++) {
|
|
377
|
+
let path = paths[i];
|
|
378
|
+
if (path) {
|
|
379
|
+
if (path === "/" && (i === 0 || i === last)) {
|
|
380
|
+
// For a "/" segment at the beginning or end of the list, insert an empty entry to force
|
|
381
|
+
// a leading or trailing slash in the resulting URL
|
|
382
|
+
segmentsToJoin.push("");
|
|
383
|
+
}
|
|
384
|
+
else {
|
|
385
|
+
if (i > 0 && path[0] === "/") {
|
|
386
|
+
// Trim leading slash in any segment except the first one
|
|
387
|
+
path = path.substr(1);
|
|
388
|
+
}
|
|
389
|
+
if (i < last && path[path.length - 1] === "/") {
|
|
390
|
+
// Trim trailing slash in any segment except the last one
|
|
391
|
+
path = path.substr(0, path.length - 1);
|
|
392
|
+
}
|
|
393
|
+
if (path) {
|
|
394
|
+
segmentsToJoin.push(path);
|
|
395
|
+
}
|
|
396
|
+
}
|
|
397
|
+
}
|
|
398
|
+
}
|
|
399
|
+
if (segmentsToJoin.length === 1 && segmentsToJoin[0] === "") {
|
|
400
|
+
return "/";
|
|
401
|
+
}
|
|
402
|
+
// Join segments by slash
|
|
403
|
+
return segmentsToJoin.join("/");
|
|
404
|
+
}
|
|
405
|
+
/**
|
|
406
|
+
* Parse a route template into a structure that can be used to quickly do route replacements
|
|
407
|
+
*
|
|
408
|
+
* @param routeTemplate MVC route template string (like "/foo/{id}/{*params}")
|
|
409
|
+
*/
|
|
410
|
+
function parseRouteTemplate(routeTemplate) {
|
|
411
|
+
const parsedRoute = {
|
|
412
|
+
segments: []
|
|
413
|
+
};
|
|
414
|
+
let paramStartIndex = -1;
|
|
415
|
+
let segmentStartIndex = -1;
|
|
416
|
+
let segmentPrefix = "";
|
|
417
|
+
for (let charIndex = 0, routeTemplateLen = routeTemplate.length; charIndex < routeTemplateLen; charIndex++) {
|
|
418
|
+
let c = routeTemplate.charCodeAt(charIndex);
|
|
419
|
+
if (paramStartIndex >= 0) {
|
|
420
|
+
if (c === 125 /* KeyCodes.endCurlyBrace */) {
|
|
421
|
+
let paramName = routeTemplate.substring(paramStartIndex, charIndex);
|
|
422
|
+
let isWildCardParam = false;
|
|
423
|
+
if (paramName.charCodeAt(0) === 42 /* KeyCodes.asterisk */) {
|
|
424
|
+
paramName = paramName.substr(1);
|
|
425
|
+
isWildCardParam = true;
|
|
426
|
+
}
|
|
427
|
+
parsedRoute.segments.push({
|
|
428
|
+
paramName,
|
|
429
|
+
isWildCardParam
|
|
430
|
+
});
|
|
431
|
+
paramStartIndex = -1;
|
|
432
|
+
}
|
|
433
|
+
}
|
|
434
|
+
else {
|
|
435
|
+
if (c === 123 /* KeyCodes.startCurlyBrace */ && routeTemplate.charCodeAt(charIndex + 1) !== 123 /* KeyCodes.startCurlyBrace */) {
|
|
436
|
+
// Start of a parameter
|
|
437
|
+
if (segmentPrefix || segmentStartIndex >= 0) {
|
|
438
|
+
// Store the previous segment
|
|
439
|
+
let segmentText = segmentPrefix;
|
|
440
|
+
if (segmentStartIndex >= 0) {
|
|
441
|
+
segmentText += routeTemplate.substring(segmentStartIndex, charIndex);
|
|
442
|
+
}
|
|
443
|
+
if (segmentText) {
|
|
444
|
+
parsedRoute.segments.push({
|
|
445
|
+
text: segmentText
|
|
446
|
+
});
|
|
447
|
+
}
|
|
448
|
+
// Reset the segment tracking info
|
|
449
|
+
segmentStartIndex = -1;
|
|
450
|
+
segmentPrefix = "";
|
|
451
|
+
}
|
|
452
|
+
paramStartIndex = charIndex + 1;
|
|
453
|
+
}
|
|
454
|
+
else {
|
|
455
|
+
// Handle double {{ or double }} as an escape sequence. This is rare. For simplicity we will
|
|
456
|
+
if ((c === 123 /* KeyCodes.startCurlyBrace */ && routeTemplate.charCodeAt(charIndex + 1) === 123 /* KeyCodes.startCurlyBrace */) ||
|
|
457
|
+
(c === 125 /* KeyCodes.endCurlyBrace */ && routeTemplate.charCodeAt(charIndex + 1) === 125 /* KeyCodes.endCurlyBrace */)) {
|
|
458
|
+
segmentPrefix = segmentPrefix + routeTemplate.substring(segmentStartIndex >= 0 ? segmentStartIndex : charIndex, charIndex + 1);
|
|
459
|
+
segmentStartIndex = -1;
|
|
460
|
+
charIndex++;
|
|
461
|
+
}
|
|
462
|
+
if (segmentStartIndex < 0) {
|
|
463
|
+
segmentStartIndex = charIndex;
|
|
464
|
+
}
|
|
465
|
+
}
|
|
466
|
+
}
|
|
467
|
+
}
|
|
468
|
+
// Store any pending segment
|
|
469
|
+
if (segmentStartIndex >= 0 || paramStartIndex >= 0) {
|
|
470
|
+
const segmentText = segmentPrefix + routeTemplate.substring(segmentStartIndex >= 0 ? segmentStartIndex : paramStartIndex);
|
|
471
|
+
if (segmentText) {
|
|
472
|
+
parsedRoute.segments.push({
|
|
473
|
+
text: segmentText
|
|
474
|
+
});
|
|
475
|
+
}
|
|
476
|
+
}
|
|
477
|
+
// Mark any param as required if it has a text segment (other than just "/") after it
|
|
478
|
+
let required = false;
|
|
479
|
+
for (let i = parsedRoute.segments.length - 1; i >= 0; i--) {
|
|
480
|
+
let segment = parsedRoute.segments[i];
|
|
481
|
+
if (segment.text && segment.text !== "/") {
|
|
482
|
+
required = true;
|
|
483
|
+
}
|
|
484
|
+
else if (required && segment.paramName) {
|
|
485
|
+
segment.isRequiredParam = true;
|
|
486
|
+
}
|
|
487
|
+
}
|
|
488
|
+
return parsedRoute;
|
|
489
|
+
}
|
|
490
|
+
/**
|
|
491
|
+
* Take a set of routes and route values and form a url using the best match. The best match
|
|
492
|
+
* is the route with the highest number of replacements (of the given routeValues dictionary).
|
|
493
|
+
* In the event of a tie (same number of replacements) the route that came first wins.
|
|
494
|
+
*
|
|
495
|
+
* @param routeCollection Array of parsed routes
|
|
496
|
+
* @param routeValues Replacement values
|
|
497
|
+
*/
|
|
498
|
+
function routeUrl(routeCollection, routeValues) {
|
|
499
|
+
let bestMatch = getBestRouteMatch(routeCollection, routeValues);
|
|
500
|
+
if (!bestMatch) {
|
|
501
|
+
return "";
|
|
502
|
+
}
|
|
503
|
+
let uri = new Uri(bestMatch.url);
|
|
504
|
+
for (let routeValueKey in routeValues) {
|
|
505
|
+
if (!bestMatch.matchedParameters[routeValueKey]) {
|
|
506
|
+
uri.addQueryParam(routeValueKey, routeValues[routeValueKey]);
|
|
507
|
+
}
|
|
508
|
+
}
|
|
509
|
+
return uri.absoluteUri;
|
|
510
|
+
}
|
|
511
|
+
/**
|
|
512
|
+
* Take a set of routes and find the best match. The best match is the route with the highest number of replacements
|
|
513
|
+
* (of the given routeValues dictionary). In the event of a tie (same number of replacements) the route that came first wins.
|
|
514
|
+
*
|
|
515
|
+
* @param routeCollection Array of parsed routes
|
|
516
|
+
* @param routeValues Replacement values
|
|
517
|
+
*/
|
|
518
|
+
function getBestRouteMatch(routeCollection, routeValues) {
|
|
519
|
+
let bestMatch;
|
|
520
|
+
let totalRouteValues = Object.keys(routeValues).length;
|
|
521
|
+
for (let route of routeCollection) {
|
|
522
|
+
let match = replaceParsedRouteValues(route, routeValues, false);
|
|
523
|
+
if (match && (!bestMatch || match.matchedParametersCount > bestMatch.matchedParametersCount)) {
|
|
524
|
+
bestMatch = match;
|
|
525
|
+
if (match.matchedParametersCount === totalRouteValues) {
|
|
526
|
+
// This route matched all route values. Return its url directly (no need to even add query params)
|
|
527
|
+
return bestMatch;
|
|
528
|
+
}
|
|
529
|
+
}
|
|
530
|
+
}
|
|
531
|
+
return bestMatch;
|
|
532
|
+
}
|
|
533
|
+
/**
|
|
534
|
+
* Replace route values for a specific parsed route
|
|
535
|
+
*
|
|
536
|
+
* @param parsedRoute The route to evaluate
|
|
537
|
+
* @param routeValues Dictionary of route replacement parameters
|
|
538
|
+
* @param continueOnUnmatchedSegements If true, continue with replacements even after a miss. By default (false), stop replacements once a parameter is not present.
|
|
539
|
+
*/
|
|
540
|
+
function replaceParsedRouteValues(parsedRoute, routeValues, continueOnUnmatchedSegements) {
|
|
541
|
+
let urlParts = [];
|
|
542
|
+
let matchedParameters = {};
|
|
543
|
+
let matchedParametersCount = 0;
|
|
544
|
+
for (let segmentIndex = 0, l = parsedRoute.segments.length; segmentIndex < l; segmentIndex++) {
|
|
545
|
+
const segment = parsedRoute.segments[segmentIndex];
|
|
546
|
+
if (segment.text) {
|
|
547
|
+
let segmentText = segment.text;
|
|
548
|
+
if (continueOnUnmatchedSegements) {
|
|
549
|
+
// Make sure we don't have consecutive slash (/) characters in the case of missing segments
|
|
550
|
+
if (segmentIndex > 0 && segmentText.charAt(0) === "/") {
|
|
551
|
+
if (urlParts.length === 0) {
|
|
552
|
+
// First text segment after one or more missing parameter segments. Remove the leading slash.
|
|
553
|
+
segmentText = segmentText.substr(1);
|
|
554
|
+
}
|
|
555
|
+
}
|
|
556
|
+
}
|
|
557
|
+
if (segmentText) {
|
|
558
|
+
urlParts.push(segmentText);
|
|
559
|
+
}
|
|
560
|
+
}
|
|
561
|
+
else {
|
|
562
|
+
const value = routeValues[segment.paramName];
|
|
563
|
+
if (!value && value !== 0) {
|
|
564
|
+
// The route value was not supplied
|
|
565
|
+
if (!continueOnUnmatchedSegements) {
|
|
566
|
+
if (segment.isRequiredParam) {
|
|
567
|
+
// This is a required parameter. Return undefined since this route was not a match.
|
|
568
|
+
return undefined;
|
|
569
|
+
}
|
|
570
|
+
else {
|
|
571
|
+
// This is an omitted optional parameter. Return what we've computed so far.
|
|
572
|
+
break;
|
|
573
|
+
}
|
|
574
|
+
}
|
|
575
|
+
else if (urlParts.length) {
|
|
576
|
+
// Unmatched segment being omitted. Remove any previously trailing slash
|
|
577
|
+
let lastSegment = urlParts[urlParts.length - 1];
|
|
578
|
+
if (lastSegment[lastSegment.length - 1] === "/") {
|
|
579
|
+
urlParts[urlParts.length - 1] = lastSegment.substr(0, lastSegment.length - 1);
|
|
580
|
+
}
|
|
581
|
+
}
|
|
582
|
+
}
|
|
583
|
+
else {
|
|
584
|
+
urlParts.push(segment.isWildCardParam ? encodeURI("" + value) : encodeURIComponent("" + value));
|
|
585
|
+
matchedParameters[segment.paramName] = true;
|
|
586
|
+
matchedParametersCount++;
|
|
587
|
+
}
|
|
588
|
+
}
|
|
589
|
+
}
|
|
590
|
+
return {
|
|
591
|
+
url: urlParts.join(""),
|
|
592
|
+
matchedParameters,
|
|
593
|
+
matchedParametersCount
|
|
594
|
+
};
|
|
595
|
+
}
|
|
596
|
+
/**
|
|
597
|
+
* Take an MVC route template (like "/foo/{id}/{*params}") and replace the templated parts with values from the given dictionary
|
|
598
|
+
*
|
|
599
|
+
* @param routeTemplate MVC route template (like "/foo/{id}/{*params}")
|
|
600
|
+
* @param routeValues Route value replacements
|
|
601
|
+
*/
|
|
602
|
+
function replaceRouteValues(routeTemplate, routeValues) {
|
|
603
|
+
let parsedRoute = parseRouteTemplate(routeTemplate);
|
|
604
|
+
return replaceParsedRouteValues(parsedRoute, routeValues, true).url;
|
|
605
|
+
}
|