@azure/msal-browser 3.5.1-beta.1 → 3.7.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/dist/app/IPublicClientApplication.d.ts +51 -51
- package/dist/app/IPublicClientApplication.mjs +102 -102
- package/dist/app/IPublicClientApplication.mjs.map +1 -1
- package/dist/app/PublicClientApplication.d.ts +269 -268
- package/dist/app/PublicClientApplication.d.ts.map +1 -1
- package/dist/app/PublicClientApplication.mjs +333 -333
- package/dist/app/PublicClientApplication.mjs.map +1 -1
- package/dist/app/PublicClientNext.d.ts +273 -273
- package/dist/app/PublicClientNext.mjs +351 -351
- package/dist/app/PublicClientNext.mjs.map +1 -1
- package/dist/broker/nativeBroker/NativeMessageHandler.d.ts +62 -62
- package/dist/broker/nativeBroker/NativeMessageHandler.mjs +254 -254
- package/dist/broker/nativeBroker/NativeMessageHandler.mjs.map +1 -1
- package/dist/broker/nativeBroker/NativeRequest.d.ts +44 -44
- package/dist/broker/nativeBroker/NativeResponse.d.ts +48 -48
- package/dist/broker/nativeBroker/NativeStatusCodes.d.ts +7 -7
- package/dist/broker/nativeBroker/NativeStatusCodes.mjs +11 -11
- package/dist/broker/nativeBroker/NativeStatusCodes.mjs.map +1 -1
- package/dist/cache/AsyncMemoryStorage.d.ts +51 -51
- package/dist/cache/AsyncMemoryStorage.mjs +132 -132
- package/dist/cache/AsyncMemoryStorage.mjs.map +1 -1
- package/dist/cache/BrowserCacheManager.d.ts +395 -383
- package/dist/cache/BrowserCacheManager.d.ts.map +1 -1
- package/dist/cache/BrowserCacheManager.mjs +1283 -1263
- package/dist/cache/BrowserCacheManager.mjs.map +1 -1
- package/dist/cache/BrowserStorage.d.ts +11 -11
- package/dist/cache/BrowserStorage.mjs +32 -32
- package/dist/cache/BrowserStorage.mjs.map +1 -1
- package/dist/cache/CryptoKeyStore.d.ts +18 -18
- package/dist/cache/CryptoKeyStore.mjs +40 -40
- package/dist/cache/CryptoKeyStore.mjs.map +1 -1
- package/dist/cache/DatabaseStorage.d.ts +56 -56
- package/dist/cache/DatabaseStorage.mjs +190 -190
- package/dist/cache/DatabaseStorage.mjs.map +1 -1
- package/dist/cache/IAsyncMemoryStorage.d.ts +27 -27
- package/dist/cache/ITokenCache.d.ts +11 -11
- package/dist/cache/IWindowStorage.d.ts +27 -27
- package/dist/cache/MemoryStorage.d.ts +11 -11
- package/dist/cache/MemoryStorage.mjs +31 -31
- package/dist/cache/MemoryStorage.mjs.map +1 -1
- package/dist/cache/TokenCache.d.ts +77 -77
- package/dist/cache/TokenCache.d.ts.map +1 -1
- package/dist/cache/TokenCache.mjs +223 -225
- package/dist/cache/TokenCache.mjs.map +1 -1
- package/dist/config/Configuration.d.ts +206 -206
- package/dist/config/Configuration.d.ts.map +1 -1
- package/dist/config/Configuration.mjs +128 -128
- package/dist/config/Configuration.mjs.map +1 -1
- package/dist/controllers/ControllerFactory.d.ts +4 -4
- package/dist/controllers/ControllerFactory.d.ts.map +1 -1
- package/dist/controllers/ControllerFactory.mjs +29 -29
- package/dist/controllers/ControllerFactory.mjs.map +1 -1
- package/dist/controllers/IController.d.ts +61 -61
- package/dist/controllers/NestedAppAuthController.d.ts +95 -95
- package/dist/controllers/NestedAppAuthController.mjs +334 -334
- package/dist/controllers/NestedAppAuthController.mjs.map +1 -1
- package/dist/controllers/StandardController.d.ts +407 -407
- package/dist/controllers/StandardController.d.ts.map +1 -1
- package/dist/controllers/StandardController.mjs +1307 -1294
- package/dist/controllers/StandardController.mjs.map +1 -1
- package/dist/controllers/UnknownOperatingContextController.d.ts +87 -87
- package/dist/controllers/UnknownOperatingContextController.mjs +264 -264
- package/dist/controllers/UnknownOperatingContextController.mjs.map +1 -1
- package/dist/crypto/BrowserCrypto.d.ts +44 -44
- package/dist/crypto/BrowserCrypto.mjs +93 -93
- package/dist/crypto/BrowserCrypto.mjs.map +1 -1
- package/dist/crypto/CryptoOps.d.ts +63 -63
- package/dist/crypto/CryptoOps.mjs +145 -145
- package/dist/crypto/CryptoOps.mjs.map +1 -1
- package/dist/crypto/PkceGenerator.d.ts +8 -8
- package/dist/crypto/PkceGenerator.mjs +54 -54
- package/dist/crypto/PkceGenerator.mjs.map +1 -1
- package/dist/crypto/SignedHttpRequest.d.ts +30 -30
- package/dist/crypto/SignedHttpRequest.mjs +39 -39
- package/dist/crypto/SignedHttpRequest.mjs.map +1 -1
- package/dist/encode/Base64Decode.d.ts +9 -9
- package/dist/encode/Base64Decode.mjs +36 -36
- package/dist/encode/Base64Decode.mjs.map +1 -1
- package/dist/encode/Base64Encode.d.ts +19 -19
- package/dist/encode/Base64Encode.mjs +43 -43
- package/dist/encode/Base64Encode.mjs.map +1 -1
- package/dist/error/BrowserAuthError.d.ts +250 -250
- package/dist/error/BrowserAuthError.mjs +258 -258
- package/dist/error/BrowserAuthError.mjs.map +1 -1
- package/dist/error/BrowserAuthErrorCodes.d.ts +45 -45
- package/dist/error/BrowserAuthErrorCodes.mjs +49 -49
- package/dist/error/BrowserAuthErrorCodes.mjs.map +1 -1
- package/dist/error/BrowserConfigurationAuthError.d.ts +33 -33
- package/dist/error/BrowserConfigurationAuthError.mjs +40 -40
- package/dist/error/BrowserConfigurationAuthError.mjs.map +1 -1
- package/dist/error/BrowserConfigurationAuthErrorCodes.d.ts +3 -3
- package/dist/error/BrowserConfigurationAuthErrorCodes.mjs +7 -7
- package/dist/error/BrowserConfigurationAuthErrorCodes.mjs.map +1 -1
- package/dist/error/NativeAuthError.d.ts +29 -29
- package/dist/error/NativeAuthError.mjs +60 -60
- package/dist/error/NativeAuthError.mjs.map +1 -1
- package/dist/error/NativeAuthErrorCodes.d.ts +2 -2
- package/dist/error/NativeAuthErrorCodes.mjs +6 -6
- package/dist/error/NativeAuthErrorCodes.mjs.map +1 -1
- package/dist/error/NestedAppAuthError.d.ts +14 -14
- package/dist/error/NestedAppAuthError.mjs +23 -23
- package/dist/error/NestedAppAuthError.mjs.map +1 -1
- package/dist/event/EventHandler.d.ts +41 -41
- package/dist/event/EventHandler.mjs +119 -119
- package/dist/event/EventHandler.mjs.map +1 -1
- package/dist/event/EventMessage.d.ts +25 -25
- package/dist/event/EventMessage.mjs +68 -68
- package/dist/event/EventMessage.mjs.map +1 -1
- package/dist/event/EventType.d.ts +28 -28
- package/dist/event/EventType.mjs +31 -31
- package/dist/event/EventType.mjs.map +1 -1
- package/dist/index.d.ts +39 -39
- package/dist/index.d.ts.map +1 -1
- package/dist/index.mjs +1 -1
- package/dist/interaction_client/BaseInteractionClient.d.ts +54 -54
- package/dist/interaction_client/BaseInteractionClient.mjs +152 -152
- package/dist/interaction_client/BaseInteractionClient.mjs.map +1 -1
- package/dist/interaction_client/HybridSpaAuthorizationCodeClient.d.ts +4 -4
- package/dist/interaction_client/HybridSpaAuthorizationCodeClient.mjs +10 -10
- package/dist/interaction_client/HybridSpaAuthorizationCodeClient.mjs.map +1 -1
- package/dist/interaction_client/NativeInteractionClient.d.ts +140 -140
- package/dist/interaction_client/NativeInteractionClient.d.ts.map +1 -1
- package/dist/interaction_client/NativeInteractionClient.mjs +541 -549
- package/dist/interaction_client/NativeInteractionClient.mjs.map +1 -1
- package/dist/interaction_client/PopupClient.d.ts +105 -105
- package/dist/interaction_client/PopupClient.mjs +432 -432
- package/dist/interaction_client/PopupClient.mjs.map +1 -1
- package/dist/interaction_client/RedirectClient.d.ts +49 -49
- package/dist/interaction_client/RedirectClient.mjs +311 -311
- package/dist/interaction_client/RedirectClient.mjs.map +1 -1
- package/dist/interaction_client/SilentAuthCodeClient.d.ts +23 -23
- package/dist/interaction_client/SilentAuthCodeClient.mjs +57 -57
- package/dist/interaction_client/SilentAuthCodeClient.mjs.map +1 -1
- package/dist/interaction_client/SilentCacheClient.d.ts +24 -24
- package/dist/interaction_client/SilentCacheClient.mjs +61 -61
- package/dist/interaction_client/SilentCacheClient.mjs.map +1 -1
- package/dist/interaction_client/SilentIframeClient.d.ts +32 -32
- package/dist/interaction_client/SilentIframeClient.mjs +96 -96
- package/dist/interaction_client/SilentIframeClient.mjs.map +1 -1
- package/dist/interaction_client/SilentRefreshClient.d.ts +20 -20
- package/dist/interaction_client/SilentRefreshClient.d.ts.map +1 -1
- package/dist/interaction_client/SilentRefreshClient.mjs +47 -43
- package/dist/interaction_client/SilentRefreshClient.mjs.map +1 -1
- package/dist/interaction_client/StandardInteractionClient.d.ts +54 -54
- package/dist/interaction_client/StandardInteractionClient.mjs +222 -222
- package/dist/interaction_client/StandardInteractionClient.mjs.map +1 -1
- package/dist/interaction_handler/InteractionHandler.d.ts +33 -33
- package/dist/interaction_handler/InteractionHandler.mjs +93 -93
- package/dist/interaction_handler/InteractionHandler.mjs.map +1 -1
- package/dist/interaction_handler/RedirectHandler.d.ts +32 -32
- package/dist/interaction_handler/RedirectHandler.mjs +134 -134
- package/dist/interaction_handler/RedirectHandler.mjs.map +1 -1
- package/dist/interaction_handler/SilentHandler.d.ts +13 -13
- package/dist/interaction_handler/SilentHandler.mjs +133 -133
- package/dist/interaction_handler/SilentHandler.mjs.map +1 -1
- package/dist/naa/AccountInfo.d.ts +11 -11
- package/dist/naa/AuthBridge.d.ts +8 -5
- package/dist/naa/AuthBridge.d.ts.map +1 -1
- package/dist/naa/AuthResult.d.ts +7 -0
- package/dist/naa/AuthResult.d.ts.map +1 -0
- package/dist/naa/BridgeCapabilities.d.ts +3 -3
- package/dist/naa/BridgeError.d.ts +9 -9
- package/dist/naa/BridgeError.mjs +7 -7
- package/dist/naa/BridgeError.mjs.map +1 -1
- package/dist/naa/BridgeProxy.d.ts +68 -72
- package/dist/naa/BridgeProxy.d.ts.map +1 -1
- package/dist/naa/BridgeProxy.mjs +155 -152
- package/dist/naa/BridgeProxy.mjs.map +1 -1
- package/dist/naa/BridgeRequest.d.ts +7 -6
- package/dist/naa/BridgeRequest.d.ts.map +1 -1
- package/dist/naa/BridgeRequestEnvelope.d.ts +12 -13
- package/dist/naa/BridgeRequestEnvelope.d.ts.map +1 -1
- package/dist/naa/BridgeResponseEnvelope.d.ts +13 -10
- package/dist/naa/BridgeResponseEnvelope.d.ts.map +1 -1
- package/dist/naa/BridgeStatusCode.d.ts +11 -10
- package/dist/naa/BridgeStatusCode.d.ts.map +1 -1
- package/dist/naa/BridgeStatusCode.mjs +15 -16
- package/dist/naa/BridgeStatusCode.mjs.map +1 -1
- package/dist/naa/IBridgeProxy.d.ts +10 -12
- package/dist/naa/IBridgeProxy.d.ts.map +1 -1
- package/dist/naa/{InitializeBridgeResponse.d.ts → InitContext.d.ts} +7 -7
- package/dist/naa/InitContext.d.ts.map +1 -0
- package/dist/naa/TokenRequest.d.ts +18 -19
- package/dist/naa/TokenRequest.d.ts.map +1 -1
- package/dist/naa/TokenResponse.d.ts +13 -15
- package/dist/naa/TokenResponse.d.ts.map +1 -1
- package/dist/naa/mapping/NestedAppAuthAdapter.d.ts +23 -23
- package/dist/naa/mapping/NestedAppAuthAdapter.d.ts.map +1 -1
- package/dist/naa/mapping/NestedAppAuthAdapter.mjs +141 -141
- package/dist/naa/mapping/NestedAppAuthAdapter.mjs.map +1 -1
- package/dist/navigation/INavigationClient.d.ts +16 -16
- package/dist/navigation/NavigationClient.d.ts +22 -22
- package/dist/navigation/NavigationClient.mjs +40 -40
- package/dist/navigation/NavigationClient.mjs.map +1 -1
- package/dist/navigation/NavigationOptions.d.ts +12 -12
- package/dist/network/FetchClient.d.ts +26 -26
- package/dist/network/FetchClient.mjs +99 -99
- package/dist/network/FetchClient.mjs.map +1 -1
- package/dist/operatingcontext/BaseOperatingContext.d.ts +41 -40
- package/dist/operatingcontext/BaseOperatingContext.d.ts.map +1 -1
- package/dist/operatingcontext/BaseOperatingContext.mjs +96 -45
- package/dist/operatingcontext/BaseOperatingContext.mjs.map +1 -1
- package/dist/operatingcontext/StandardOperatingContext.d.ts +25 -25
- package/dist/operatingcontext/StandardOperatingContext.mjs +43 -43
- package/dist/operatingcontext/StandardOperatingContext.mjs.map +1 -1
- package/dist/operatingcontext/TeamsAppOperatingContext.d.ts +32 -32
- package/dist/operatingcontext/TeamsAppOperatingContext.mjs +85 -85
- package/dist/operatingcontext/TeamsAppOperatingContext.mjs.map +1 -1
- package/dist/operatingcontext/UnknownOperatingContext.d.ts +25 -25
- package/dist/operatingcontext/UnknownOperatingContext.mjs +42 -42
- package/dist/operatingcontext/UnknownOperatingContext.mjs.map +1 -1
- package/dist/packageMetadata.d.ts +2 -2
- package/dist/packageMetadata.d.ts.map +1 -1
- package/dist/packageMetadata.mjs +4 -4
- package/dist/packageMetadata.mjs.map +1 -1
- package/dist/request/AuthorizationCodeRequest.d.ts +8 -8
- package/dist/request/AuthorizationUrlRequest.d.ts +8 -8
- package/dist/request/ClearCacheRequest.d.ts +10 -10
- package/dist/request/EndSessionPopupRequest.d.ts +18 -18
- package/dist/request/EndSessionRequest.d.ts +15 -15
- package/dist/request/PopupRequest.d.ts +34 -34
- package/dist/request/PopupWindowAttributes.d.ts +15 -15
- package/dist/request/RedirectRequest.d.ts +35 -35
- package/dist/request/SilentRequest.d.ts +32 -32
- package/dist/request/SsoSilentRequest.d.ts +29 -29
- package/dist/response/AuthenticationResult.d.ts +4 -4
- package/dist/response/ResponseHandler.d.ts +7 -7
- package/dist/response/ResponseHandler.mjs +36 -36
- package/dist/response/ResponseHandler.mjs.map +1 -1
- package/dist/telemetry/BrowserPerformanceClient.d.ts +34 -36
- package/dist/telemetry/BrowserPerformanceClient.d.ts.map +1 -1
- package/dist/telemetry/BrowserPerformanceClient.mjs +163 -126
- package/dist/telemetry/BrowserPerformanceClient.mjs.map +1 -1
- package/dist/telemetry/BrowserPerformanceMeasurement.d.ts +21 -21
- package/dist/telemetry/BrowserPerformanceMeasurement.mjs +92 -92
- package/dist/telemetry/BrowserPerformanceMeasurement.mjs.map +1 -1
- package/dist/utils/BrowserConstants.d.ts +180 -176
- package/dist/utils/BrowserConstants.d.ts.map +1 -1
- package/dist/utils/BrowserConstants.mjs +213 -205
- package/dist/utils/BrowserConstants.mjs.map +1 -1
- package/dist/utils/BrowserProtocolUtils.d.ts +11 -11
- package/dist/utils/BrowserProtocolUtils.mjs +21 -21
- package/dist/utils/BrowserProtocolUtils.mjs.map +1 -1
- package/dist/utils/BrowserUtils.d.ts +56 -56
- package/dist/utils/BrowserUtils.mjs +125 -125
- package/dist/utils/BrowserUtils.mjs.map +1 -1
- package/lib/msal-browser.cjs +18304 -17929
- package/lib/msal-browser.cjs.map +1 -1
- package/lib/msal-browser.js +18304 -17929
- package/lib/msal-browser.js.map +1 -1
- package/lib/msal-browser.min.js +66 -68
- package/package.json +103 -102
- package/src/app/PublicClientApplication.ts +2 -1
- package/src/cache/BrowserCacheManager.ts +38 -23
- package/src/cache/DatabaseStorage.ts +1 -1
- package/src/cache/TokenCache.ts +34 -29
- package/src/config/Configuration.ts +1 -1
- package/src/controllers/ControllerFactory.ts +3 -5
- package/src/controllers/StandardController.ts +53 -26
- package/src/crypto/CryptoOps.ts +1 -1
- package/src/crypto/SignedHttpRequest.ts +1 -1
- package/src/index.ts +1 -0
- package/src/interaction_client/BaseInteractionClient.ts +2 -2
- package/src/interaction_client/NativeInteractionClient.ts +24 -20
- package/src/interaction_client/PopupClient.ts +1 -1
- package/src/interaction_client/RedirectClient.ts +3 -3
- package/src/interaction_client/SilentAuthCodeClient.ts +1 -1
- package/src/interaction_client/SilentRefreshClient.ts +8 -0
- package/src/interaction_client/StandardInteractionClient.ts +1 -1
- package/src/interaction_handler/SilentHandler.ts +2 -2
- package/src/naa/AuthBridge.ts +3 -2
- package/src/naa/AuthResult.ts +12 -0
- package/src/naa/BridgeProxy.ts +64 -71
- package/src/naa/BridgeRequest.ts +6 -2
- package/src/naa/BridgeRequestEnvelope.ts +1 -13
- package/src/naa/BridgeResponseEnvelope.ts +5 -7
- package/src/naa/BridgeStatusCode.ts +12 -10
- package/src/naa/IBridgeProxy.ts +3 -14
- package/src/naa/{InitializeBridgeResponse.ts → InitContext.ts} +1 -1
- package/src/naa/TokenRequest.ts +1 -2
- package/src/naa/TokenResponse.ts +1 -4
- package/src/naa/mapping/NestedAppAuthAdapter.ts +19 -19
- package/src/operatingcontext/BaseOperatingContext.ts +64 -7
- package/src/packageMetadata.ts +1 -1
- package/src/telemetry/BrowserPerformanceClient.ts +95 -42
- package/src/utils/BrowserConstants.ts +11 -0
- package/dist/naa/AccountRequests.d.ts +0 -10
- package/dist/naa/AccountRequests.d.ts.map +0 -1
- package/dist/naa/InitializeBridgeResponse.d.ts.map +0 -1
- package/src/naa/AccountRequests.ts +0 -16
|
@@ -1,133 +1,170 @@
|
|
|
1
|
-
/*! @azure/msal-browser v3.
|
|
1
|
+
/*! @azure/msal-browser v3.7.0 2024-01-09 */
|
|
2
2
|
'use strict';
|
|
3
3
|
import { PerformanceClient, Constants, Logger } from '@azure/msal-common';
|
|
4
|
-
import { BrowserPerformanceMeasurement } from './BrowserPerformanceMeasurement.mjs';
|
|
5
4
|
import { name, version } from '../packageMetadata.mjs';
|
|
5
|
+
import { BrowserCacheLocation, BROWSER_PERF_ENABLED_KEY } from '../utils/BrowserConstants.mjs';
|
|
6
6
|
|
|
7
|
-
/*
|
|
8
|
-
* Copyright (c) Microsoft Corporation. All rights reserved.
|
|
9
|
-
* Licensed under the MIT License.
|
|
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
|
-
supportsBrowserPerformanceNow() {
|
|
42
|
-
return
|
|
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
|
-
* @param {PerformanceEvents}
|
|
79
|
-
* @param {?string} correlationId
|
|
80
|
-
* @returns
|
|
81
|
-
*/
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
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
|
-
if (!
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
const
|
|
129
|
-
|
|
130
|
-
|
|
7
|
+
/*
|
|
8
|
+
* Copyright (c) Microsoft Corporation. All rights reserved.
|
|
9
|
+
* Licensed under the MIT License.
|
|
10
|
+
*/
|
|
11
|
+
/**
|
|
12
|
+
* Returns browser performance measurement module if session flag is enabled. Returns undefined otherwise.
|
|
13
|
+
*/
|
|
14
|
+
function getPerfMeasurementModule() {
|
|
15
|
+
let sessionStorage;
|
|
16
|
+
try {
|
|
17
|
+
sessionStorage = window[BrowserCacheLocation.SessionStorage];
|
|
18
|
+
const perfEnabled = sessionStorage?.getItem(BROWSER_PERF_ENABLED_KEY);
|
|
19
|
+
if (Number(perfEnabled) === 1) {
|
|
20
|
+
return import('./BrowserPerformanceMeasurement.mjs');
|
|
21
|
+
}
|
|
22
|
+
// Mute errors if it's a non-browser environment or cookies are blocked.
|
|
23
|
+
}
|
|
24
|
+
catch (e) { }
|
|
25
|
+
return undefined;
|
|
26
|
+
}
|
|
27
|
+
/**
|
|
28
|
+
* Returns boolean, indicating whether browser supports window.performance.now() function.
|
|
29
|
+
*/
|
|
30
|
+
function supportsBrowserPerformanceNow() {
|
|
31
|
+
return (typeof window !== "undefined" &&
|
|
32
|
+
typeof window.performance !== "undefined" &&
|
|
33
|
+
typeof window.performance.now === "function");
|
|
34
|
+
}
|
|
35
|
+
/**
|
|
36
|
+
* Returns event duration in milliseconds using window performance API if available. Returns undefined otherwise.
|
|
37
|
+
* @param startTime {DOMHighResTimeStamp | undefined}
|
|
38
|
+
* @returns {number | undefined}
|
|
39
|
+
*/
|
|
40
|
+
function getPerfDurationMs(startTime) {
|
|
41
|
+
if (!startTime || !supportsBrowserPerformanceNow()) {
|
|
42
|
+
return undefined;
|
|
43
|
+
}
|
|
44
|
+
return Math.round(window.performance.now() - startTime);
|
|
45
|
+
}
|
|
46
|
+
class BrowserPerformanceClient extends PerformanceClient {
|
|
47
|
+
constructor(configuration, intFields) {
|
|
48
|
+
super(configuration.auth.clientId, configuration.auth.authority || `${Constants.DEFAULT_AUTHORITY}`, new Logger(configuration.system?.loggerOptions || {}, name, version), name, version, configuration.telemetry?.application || {
|
|
49
|
+
appName: "",
|
|
50
|
+
appVersion: "",
|
|
51
|
+
}, intFields);
|
|
52
|
+
}
|
|
53
|
+
generateId() {
|
|
54
|
+
return window.crypto.randomUUID();
|
|
55
|
+
}
|
|
56
|
+
getPageVisibility() {
|
|
57
|
+
return document.visibilityState?.toString() || null;
|
|
58
|
+
}
|
|
59
|
+
deleteIncompleteSubMeasurements(inProgressEvent) {
|
|
60
|
+
void getPerfMeasurementModule()?.then((module) => {
|
|
61
|
+
const rootEvent = this.eventsByCorrelationId.get(inProgressEvent.event.correlationId);
|
|
62
|
+
const isRootEvent = rootEvent &&
|
|
63
|
+
rootEvent.eventId === inProgressEvent.event.eventId;
|
|
64
|
+
const incompleteMeasurements = [];
|
|
65
|
+
if (isRootEvent && rootEvent?.incompleteSubMeasurements) {
|
|
66
|
+
rootEvent.incompleteSubMeasurements.forEach((subMeasurement) => {
|
|
67
|
+
incompleteMeasurements.push({ ...subMeasurement });
|
|
68
|
+
});
|
|
69
|
+
}
|
|
70
|
+
// Clean up remaining marks for incomplete sub-measurements
|
|
71
|
+
module.BrowserPerformanceMeasurement.flushMeasurements(inProgressEvent.event.correlationId, incompleteMeasurements);
|
|
72
|
+
});
|
|
73
|
+
}
|
|
74
|
+
/**
|
|
75
|
+
* Starts measuring performance for a given operation. Returns a function that should be used to end the measurement.
|
|
76
|
+
* Also captures browser page visibilityState.
|
|
77
|
+
*
|
|
78
|
+
* @param {PerformanceEvents} measureName
|
|
79
|
+
* @param {?string} [correlationId]
|
|
80
|
+
* @returns {((event?: Partial<PerformanceEvent>) => PerformanceEvent| null)}
|
|
81
|
+
*/
|
|
82
|
+
startMeasurement(measureName, correlationId) {
|
|
83
|
+
// Capture page visibilityState and then invoke start/end measurement
|
|
84
|
+
const startPageVisibility = this.getPageVisibility();
|
|
85
|
+
const inProgressEvent = super.startMeasurement(measureName, correlationId);
|
|
86
|
+
const startTime = supportsBrowserPerformanceNow()
|
|
87
|
+
? window.performance.now()
|
|
88
|
+
: undefined;
|
|
89
|
+
const browserMeasurement = getPerfMeasurementModule()?.then((module) => {
|
|
90
|
+
return new module.BrowserPerformanceMeasurement(measureName, inProgressEvent.event.correlationId);
|
|
91
|
+
});
|
|
92
|
+
void browserMeasurement?.then((measurement) => measurement.startMeasurement());
|
|
93
|
+
return {
|
|
94
|
+
...inProgressEvent,
|
|
95
|
+
end: (event) => {
|
|
96
|
+
const res = inProgressEvent.end({
|
|
97
|
+
...event,
|
|
98
|
+
startPageVisibility,
|
|
99
|
+
endPageVisibility: this.getPageVisibility(),
|
|
100
|
+
durationMs: getPerfDurationMs(startTime),
|
|
101
|
+
});
|
|
102
|
+
void browserMeasurement?.then((measurement) => measurement.endMeasurement());
|
|
103
|
+
this.deleteIncompleteSubMeasurements(inProgressEvent);
|
|
104
|
+
return res;
|
|
105
|
+
},
|
|
106
|
+
discard: () => {
|
|
107
|
+
inProgressEvent.discard();
|
|
108
|
+
void browserMeasurement?.then((measurement) => measurement.flushMeasurement());
|
|
109
|
+
this.deleteIncompleteSubMeasurements(inProgressEvent);
|
|
110
|
+
},
|
|
111
|
+
};
|
|
112
|
+
}
|
|
113
|
+
/**
|
|
114
|
+
* Adds pre-queue time to preQueueTimeByCorrelationId map.
|
|
115
|
+
* @param {PerformanceEvents} eventName
|
|
116
|
+
* @param {?string} correlationId
|
|
117
|
+
* @returns
|
|
118
|
+
*/
|
|
119
|
+
setPreQueueTime(eventName, correlationId) {
|
|
120
|
+
if (!supportsBrowserPerformanceNow()) {
|
|
121
|
+
this.logger.trace(`BrowserPerformanceClient: window performance API not available, unable to set telemetry queue time for ${eventName}`);
|
|
122
|
+
return;
|
|
123
|
+
}
|
|
124
|
+
if (!correlationId) {
|
|
125
|
+
this.logger.trace(`BrowserPerformanceClient: correlationId for ${eventName} not provided, unable to set telemetry queue time`);
|
|
126
|
+
return;
|
|
127
|
+
}
|
|
128
|
+
const preQueueEvent = this.preQueueTimeByCorrelationId.get(correlationId);
|
|
129
|
+
/**
|
|
130
|
+
* Manually complete queue measurement if there is an incomplete pre-queue event.
|
|
131
|
+
* Incomplete pre-queue events are instrumentation bugs that should be fixed.
|
|
132
|
+
*/
|
|
133
|
+
if (preQueueEvent) {
|
|
134
|
+
this.logger.trace(`BrowserPerformanceClient: Incomplete pre-queue ${preQueueEvent.name} found`, correlationId);
|
|
135
|
+
this.addQueueMeasurement(preQueueEvent.name, correlationId, undefined, true);
|
|
136
|
+
}
|
|
137
|
+
this.preQueueTimeByCorrelationId.set(correlationId, {
|
|
138
|
+
name: eventName,
|
|
139
|
+
time: window.performance.now(),
|
|
140
|
+
});
|
|
141
|
+
}
|
|
142
|
+
/**
|
|
143
|
+
* Calculates and adds queue time measurement for given performance event.
|
|
144
|
+
*
|
|
145
|
+
* @param {PerformanceEvents} eventName
|
|
146
|
+
* @param {?string} correlationId
|
|
147
|
+
* @param {?number} queueTime
|
|
148
|
+
* @param {?boolean} manuallyCompleted - indicator for manually completed queue measurements
|
|
149
|
+
* @returns
|
|
150
|
+
*/
|
|
151
|
+
addQueueMeasurement(eventName, correlationId, queueTime, manuallyCompleted) {
|
|
152
|
+
if (!supportsBrowserPerformanceNow()) {
|
|
153
|
+
this.logger.trace(`BrowserPerformanceClient: window performance API not available, unable to add queue measurement for ${eventName}`);
|
|
154
|
+
return;
|
|
155
|
+
}
|
|
156
|
+
if (!correlationId) {
|
|
157
|
+
this.logger.trace(`BrowserPerformanceClient: correlationId for ${eventName} not provided, unable to add queue measurement`);
|
|
158
|
+
return;
|
|
159
|
+
}
|
|
160
|
+
const preQueueTime = super.getPreQueueTime(eventName, correlationId);
|
|
161
|
+
if (!preQueueTime) {
|
|
162
|
+
return;
|
|
163
|
+
}
|
|
164
|
+
const currentTime = window.performance.now();
|
|
165
|
+
const resQueueTime = queueTime || super.calculateQueuedTime(preQueueTime, currentTime);
|
|
166
|
+
return super.addQueueMeasurement(eventName, correlationId, resQueueTime, manuallyCompleted);
|
|
167
|
+
}
|
|
131
168
|
}
|
|
132
169
|
|
|
133
170
|
export { BrowserPerformanceClient };
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"BrowserPerformanceClient.mjs","sources":["../../src/telemetry/BrowserPerformanceClient.ts"],"sourcesContent":[null],"names":[],"mappings":";;;;;;
|
|
1
|
+
{"version":3,"file":"BrowserPerformanceClient.mjs","sources":["../../src/telemetry/BrowserPerformanceClient.ts"],"sourcesContent":[null],"names":[],"mappings":"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"}
|
|
@@ -1,22 +1,22 @@
|
|
|
1
|
-
import { IPerformanceMeasurement, SubMeasurement } from "@azure/msal-common";
|
|
2
|
-
export declare class BrowserPerformanceMeasurement implements IPerformanceMeasurement {
|
|
3
|
-
private readonly measureName;
|
|
4
|
-
private readonly correlationId;
|
|
5
|
-
private readonly startMark;
|
|
6
|
-
private readonly endMark;
|
|
7
|
-
constructor(name: string, correlationId: string);
|
|
8
|
-
private static makeMeasureName;
|
|
9
|
-
private static makeStartMark;
|
|
10
|
-
private static makeEndMark;
|
|
11
|
-
static supportsBrowserPerformance(): boolean;
|
|
12
|
-
/**
|
|
13
|
-
* Flush browser marks and measurements.
|
|
14
|
-
* @param {string} correlationId
|
|
15
|
-
* @param {SubMeasurement} measurements
|
|
16
|
-
*/
|
|
17
|
-
static flushMeasurements(correlationId: string, measurements: SubMeasurement[]): void;
|
|
18
|
-
startMeasurement(): void;
|
|
19
|
-
endMeasurement(): void;
|
|
20
|
-
flushMeasurement(): number | null;
|
|
21
|
-
}
|
|
1
|
+
import { IPerformanceMeasurement, SubMeasurement } from "@azure/msal-common";
|
|
2
|
+
export declare class BrowserPerformanceMeasurement implements IPerformanceMeasurement {
|
|
3
|
+
private readonly measureName;
|
|
4
|
+
private readonly correlationId;
|
|
5
|
+
private readonly startMark;
|
|
6
|
+
private readonly endMark;
|
|
7
|
+
constructor(name: string, correlationId: string);
|
|
8
|
+
private static makeMeasureName;
|
|
9
|
+
private static makeStartMark;
|
|
10
|
+
private static makeEndMark;
|
|
11
|
+
static supportsBrowserPerformance(): boolean;
|
|
12
|
+
/**
|
|
13
|
+
* Flush browser marks and measurements.
|
|
14
|
+
* @param {string} correlationId
|
|
15
|
+
* @param {SubMeasurement} measurements
|
|
16
|
+
*/
|
|
17
|
+
static flushMeasurements(correlationId: string, measurements: SubMeasurement[]): void;
|
|
18
|
+
startMeasurement(): void;
|
|
19
|
+
endMeasurement(): void;
|
|
20
|
+
flushMeasurement(): number | null;
|
|
21
|
+
}
|
|
22
22
|
//# sourceMappingURL=BrowserPerformanceMeasurement.d.ts.map
|
|
@@ -1,96 +1,96 @@
|
|
|
1
|
-
/*! @azure/msal-browser v3.
|
|
1
|
+
/*! @azure/msal-browser v3.7.0 2024-01-09 */
|
|
2
2
|
'use strict';
|
|
3
|
-
/*
|
|
4
|
-
* Copyright (c) Microsoft Corporation. All rights reserved.
|
|
5
|
-
* Licensed under the MIT License.
|
|
6
|
-
*/
|
|
7
|
-
class BrowserPerformanceMeasurement {
|
|
8
|
-
constructor(name, correlationId) {
|
|
9
|
-
this.correlationId = correlationId;
|
|
10
|
-
this.measureName = BrowserPerformanceMeasurement.makeMeasureName(name, correlationId);
|
|
11
|
-
this.startMark = BrowserPerformanceMeasurement.makeStartMark(name, correlationId);
|
|
12
|
-
this.endMark = BrowserPerformanceMeasurement.makeEndMark(name, correlationId);
|
|
13
|
-
}
|
|
14
|
-
static makeMeasureName(name, correlationId) {
|
|
15
|
-
return `msal.measure.${name}.${correlationId}`;
|
|
16
|
-
}
|
|
17
|
-
static makeStartMark(name, correlationId) {
|
|
18
|
-
return `msal.start.${name}.${correlationId}`;
|
|
19
|
-
}
|
|
20
|
-
static makeEndMark(name, correlationId) {
|
|
21
|
-
return `msal.end.${name}.${correlationId}`;
|
|
22
|
-
}
|
|
23
|
-
static supportsBrowserPerformance() {
|
|
24
|
-
return (typeof window !== "undefined" &&
|
|
25
|
-
typeof window.performance !== "undefined" &&
|
|
26
|
-
typeof window.performance.mark === "function" &&
|
|
27
|
-
typeof window.performance.measure === "function" &&
|
|
28
|
-
typeof window.performance.clearMarks === "function" &&
|
|
29
|
-
typeof window.performance.clearMeasures === "function" &&
|
|
30
|
-
typeof window.performance.getEntriesByName === "function");
|
|
31
|
-
}
|
|
32
|
-
/**
|
|
33
|
-
* Flush browser marks and measurements.
|
|
34
|
-
* @param {string} correlationId
|
|
35
|
-
* @param {SubMeasurement} measurements
|
|
36
|
-
*/
|
|
37
|
-
static flushMeasurements(correlationId, measurements) {
|
|
38
|
-
if (BrowserPerformanceMeasurement.supportsBrowserPerformance()) {
|
|
39
|
-
try {
|
|
40
|
-
measurements.forEach((measurement) => {
|
|
41
|
-
const measureName = BrowserPerformanceMeasurement.makeMeasureName(measurement.name, correlationId);
|
|
42
|
-
const entriesForMeasurement = window.performance.getEntriesByName(measureName, "measure");
|
|
43
|
-
if (entriesForMeasurement.length > 0) {
|
|
44
|
-
window.performance.clearMeasures(measureName);
|
|
45
|
-
window.performance.clearMarks(BrowserPerformanceMeasurement.makeStartMark(measureName, correlationId));
|
|
46
|
-
window.performance.clearMarks(BrowserPerformanceMeasurement.makeEndMark(measureName, correlationId));
|
|
47
|
-
}
|
|
48
|
-
});
|
|
49
|
-
}
|
|
50
|
-
catch (e) {
|
|
51
|
-
// Silently catch and return null
|
|
52
|
-
}
|
|
53
|
-
}
|
|
54
|
-
}
|
|
55
|
-
startMeasurement() {
|
|
56
|
-
if (BrowserPerformanceMeasurement.supportsBrowserPerformance()) {
|
|
57
|
-
try {
|
|
58
|
-
window.performance.mark(this.startMark);
|
|
59
|
-
}
|
|
60
|
-
catch (e) {
|
|
61
|
-
// Silently catch
|
|
62
|
-
}
|
|
63
|
-
}
|
|
64
|
-
}
|
|
65
|
-
endMeasurement() {
|
|
66
|
-
if (BrowserPerformanceMeasurement.supportsBrowserPerformance()) {
|
|
67
|
-
try {
|
|
68
|
-
window.performance.mark(this.endMark);
|
|
69
|
-
window.performance.measure(this.measureName, this.startMark, this.endMark);
|
|
70
|
-
}
|
|
71
|
-
catch (e) {
|
|
72
|
-
// Silently catch
|
|
73
|
-
}
|
|
74
|
-
}
|
|
75
|
-
}
|
|
76
|
-
flushMeasurement() {
|
|
77
|
-
if (BrowserPerformanceMeasurement.supportsBrowserPerformance()) {
|
|
78
|
-
try {
|
|
79
|
-
const entriesForMeasurement = window.performance.getEntriesByName(this.measureName, "measure");
|
|
80
|
-
if (entriesForMeasurement.length > 0) {
|
|
81
|
-
const durationMs = entriesForMeasurement[0].duration;
|
|
82
|
-
window.performance.clearMeasures(this.measureName);
|
|
83
|
-
window.performance.clearMarks(this.startMark);
|
|
84
|
-
window.performance.clearMarks(this.endMark);
|
|
85
|
-
return durationMs;
|
|
86
|
-
}
|
|
87
|
-
}
|
|
88
|
-
catch (e) {
|
|
89
|
-
// Silently catch and return null
|
|
90
|
-
}
|
|
91
|
-
}
|
|
92
|
-
return null;
|
|
93
|
-
}
|
|
3
|
+
/*
|
|
4
|
+
* Copyright (c) Microsoft Corporation. All rights reserved.
|
|
5
|
+
* Licensed under the MIT License.
|
|
6
|
+
*/
|
|
7
|
+
class BrowserPerformanceMeasurement {
|
|
8
|
+
constructor(name, correlationId) {
|
|
9
|
+
this.correlationId = correlationId;
|
|
10
|
+
this.measureName = BrowserPerformanceMeasurement.makeMeasureName(name, correlationId);
|
|
11
|
+
this.startMark = BrowserPerformanceMeasurement.makeStartMark(name, correlationId);
|
|
12
|
+
this.endMark = BrowserPerformanceMeasurement.makeEndMark(name, correlationId);
|
|
13
|
+
}
|
|
14
|
+
static makeMeasureName(name, correlationId) {
|
|
15
|
+
return `msal.measure.${name}.${correlationId}`;
|
|
16
|
+
}
|
|
17
|
+
static makeStartMark(name, correlationId) {
|
|
18
|
+
return `msal.start.${name}.${correlationId}`;
|
|
19
|
+
}
|
|
20
|
+
static makeEndMark(name, correlationId) {
|
|
21
|
+
return `msal.end.${name}.${correlationId}`;
|
|
22
|
+
}
|
|
23
|
+
static supportsBrowserPerformance() {
|
|
24
|
+
return (typeof window !== "undefined" &&
|
|
25
|
+
typeof window.performance !== "undefined" &&
|
|
26
|
+
typeof window.performance.mark === "function" &&
|
|
27
|
+
typeof window.performance.measure === "function" &&
|
|
28
|
+
typeof window.performance.clearMarks === "function" &&
|
|
29
|
+
typeof window.performance.clearMeasures === "function" &&
|
|
30
|
+
typeof window.performance.getEntriesByName === "function");
|
|
31
|
+
}
|
|
32
|
+
/**
|
|
33
|
+
* Flush browser marks and measurements.
|
|
34
|
+
* @param {string} correlationId
|
|
35
|
+
* @param {SubMeasurement} measurements
|
|
36
|
+
*/
|
|
37
|
+
static flushMeasurements(correlationId, measurements) {
|
|
38
|
+
if (BrowserPerformanceMeasurement.supportsBrowserPerformance()) {
|
|
39
|
+
try {
|
|
40
|
+
measurements.forEach((measurement) => {
|
|
41
|
+
const measureName = BrowserPerformanceMeasurement.makeMeasureName(measurement.name, correlationId);
|
|
42
|
+
const entriesForMeasurement = window.performance.getEntriesByName(measureName, "measure");
|
|
43
|
+
if (entriesForMeasurement.length > 0) {
|
|
44
|
+
window.performance.clearMeasures(measureName);
|
|
45
|
+
window.performance.clearMarks(BrowserPerformanceMeasurement.makeStartMark(measureName, correlationId));
|
|
46
|
+
window.performance.clearMarks(BrowserPerformanceMeasurement.makeEndMark(measureName, correlationId));
|
|
47
|
+
}
|
|
48
|
+
});
|
|
49
|
+
}
|
|
50
|
+
catch (e) {
|
|
51
|
+
// Silently catch and return null
|
|
52
|
+
}
|
|
53
|
+
}
|
|
54
|
+
}
|
|
55
|
+
startMeasurement() {
|
|
56
|
+
if (BrowserPerformanceMeasurement.supportsBrowserPerformance()) {
|
|
57
|
+
try {
|
|
58
|
+
window.performance.mark(this.startMark);
|
|
59
|
+
}
|
|
60
|
+
catch (e) {
|
|
61
|
+
// Silently catch
|
|
62
|
+
}
|
|
63
|
+
}
|
|
64
|
+
}
|
|
65
|
+
endMeasurement() {
|
|
66
|
+
if (BrowserPerformanceMeasurement.supportsBrowserPerformance()) {
|
|
67
|
+
try {
|
|
68
|
+
window.performance.mark(this.endMark);
|
|
69
|
+
window.performance.measure(this.measureName, this.startMark, this.endMark);
|
|
70
|
+
}
|
|
71
|
+
catch (e) {
|
|
72
|
+
// Silently catch
|
|
73
|
+
}
|
|
74
|
+
}
|
|
75
|
+
}
|
|
76
|
+
flushMeasurement() {
|
|
77
|
+
if (BrowserPerformanceMeasurement.supportsBrowserPerformance()) {
|
|
78
|
+
try {
|
|
79
|
+
const entriesForMeasurement = window.performance.getEntriesByName(this.measureName, "measure");
|
|
80
|
+
if (entriesForMeasurement.length > 0) {
|
|
81
|
+
const durationMs = entriesForMeasurement[0].duration;
|
|
82
|
+
window.performance.clearMeasures(this.measureName);
|
|
83
|
+
window.performance.clearMarks(this.startMark);
|
|
84
|
+
window.performance.clearMarks(this.endMark);
|
|
85
|
+
return durationMs;
|
|
86
|
+
}
|
|
87
|
+
}
|
|
88
|
+
catch (e) {
|
|
89
|
+
// Silently catch and return null
|
|
90
|
+
}
|
|
91
|
+
}
|
|
92
|
+
return null;
|
|
93
|
+
}
|
|
94
94
|
}
|
|
95
95
|
|
|
96
96
|
export { BrowserPerformanceMeasurement };
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"BrowserPerformanceMeasurement.mjs","sources":["../../src/telemetry/BrowserPerformanceMeasurement.ts"],"sourcesContent":[null],"names":[],"mappings":";;
|
|
1
|
+
{"version":3,"file":"BrowserPerformanceMeasurement.mjs","sources":["../../src/telemetry/BrowserPerformanceMeasurement.ts"],"sourcesContent":[null],"names":[],"mappings":"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"}
|