@azure/msal-browser 2.32.2 → 2.33.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/README.md +1 -1
- package/dist/_virtual/_tslib.js +1 -1
- package/dist/app/ClientApplication.d.ts +3 -0
- package/dist/app/ClientApplication.d.ts.map +1 -1
- package/dist/app/ClientApplication.js +65 -13
- package/dist/app/ClientApplication.js.map +1 -1
- package/dist/app/IPublicClientApplication.js +1 -1
- package/dist/app/PublicClientApplication.d.ts +2 -0
- package/dist/app/PublicClientApplication.d.ts.map +1 -1
- package/dist/app/PublicClientApplication.js +37 -10
- package/dist/app/PublicClientApplication.js.map +1 -1
- package/dist/broker/nativeBroker/NativeMessageHandler.js +1 -1
- package/dist/cache/AsyncMemoryStorage.js +1 -1
- package/dist/cache/BrowserCacheManager.js +1 -1
- package/dist/cache/BrowserStorage.js +1 -1
- package/dist/cache/CryptoKeyStore.js +1 -1
- package/dist/cache/DatabaseStorage.js +1 -1
- package/dist/cache/MemoryStorage.js +1 -1
- package/dist/cache/TokenCache.js +1 -1
- package/dist/config/Configuration.js +1 -1
- package/dist/crypto/BrowserCrypto.js +1 -1
- package/dist/crypto/CryptoOps.js +1 -1
- package/dist/crypto/GuidGenerator.js +1 -1
- package/dist/crypto/ModernBrowserCrypto.js +1 -1
- package/dist/crypto/MsBrowserCrypto.js +1 -1
- package/dist/crypto/MsrBrowserCrypto.js +1 -1
- package/dist/crypto/PkceGenerator.js +1 -1
- package/dist/crypto/SignedHttpRequest.js +1 -1
- package/dist/encode/Base64Decode.js +1 -1
- package/dist/encode/Base64Encode.js +1 -1
- package/dist/error/BrowserAuthError.js +1 -1
- package/dist/error/BrowserConfigurationAuthError.js +1 -1
- package/dist/error/NativeAuthError.js +1 -1
- package/dist/event/EventHandler.js +1 -1
- package/dist/event/EventMessage.js +1 -1
- package/dist/event/EventType.js +1 -1
- package/dist/index.cjs.js +1345 -761
- package/dist/index.cjs.js.map +1 -1
- package/dist/index.js +1 -1
- package/dist/interaction_client/BaseInteractionClient.d.ts.map +1 -1
- package/dist/interaction_client/BaseInteractionClient.js +3 -2
- package/dist/interaction_client/BaseInteractionClient.js.map +1 -1
- package/dist/interaction_client/HybridSpaAuthorizationCodeClient.js +1 -1
- package/dist/interaction_client/NativeInteractionClient.js +1 -1
- package/dist/interaction_client/PopupClient.d.ts.map +1 -1
- package/dist/interaction_client/PopupClient.js +9 -2
- package/dist/interaction_client/PopupClient.js.map +1 -1
- package/dist/interaction_client/RedirectClient.d.ts.map +1 -1
- package/dist/interaction_client/RedirectClient.js +13 -5
- package/dist/interaction_client/RedirectClient.js.map +1 -1
- package/dist/interaction_client/SilentAuthCodeClient.d.ts.map +1 -1
- package/dist/interaction_client/SilentAuthCodeClient.js +7 -3
- package/dist/interaction_client/SilentAuthCodeClient.js.map +1 -1
- package/dist/interaction_client/SilentCacheClient.d.ts.map +1 -1
- package/dist/interaction_client/SilentCacheClient.js +7 -2
- package/dist/interaction_client/SilentCacheClient.js.map +1 -1
- package/dist/interaction_client/SilentIframeClient.d.ts.map +1 -1
- package/dist/interaction_client/SilentIframeClient.js +21 -4
- package/dist/interaction_client/SilentIframeClient.js.map +1 -1
- package/dist/interaction_client/SilentRefreshClient.d.ts.map +1 -1
- package/dist/interaction_client/SilentRefreshClient.js +9 -3
- package/dist/interaction_client/SilentRefreshClient.js.map +1 -1
- package/dist/interaction_client/StandardInteractionClient.d.ts.map +1 -1
- package/dist/interaction_client/StandardInteractionClient.js +16 -5
- package/dist/interaction_client/StandardInteractionClient.js.map +1 -1
- package/dist/interaction_handler/InteractionHandler.d.ts +3 -2
- package/dist/interaction_handler/InteractionHandler.d.ts.map +1 -1
- package/dist/interaction_handler/InteractionHandler.js +12 -4
- package/dist/interaction_handler/InteractionHandler.js.map +1 -1
- package/dist/interaction_handler/RedirectHandler.d.ts +2 -2
- package/dist/interaction_handler/RedirectHandler.d.ts.map +1 -1
- package/dist/interaction_handler/RedirectHandler.js +3 -3
- package/dist/interaction_handler/RedirectHandler.js.map +1 -1
- package/dist/interaction_handler/SilentHandler.d.ts +2 -2
- package/dist/interaction_handler/SilentHandler.d.ts.map +1 -1
- package/dist/interaction_handler/SilentHandler.js +13 -15
- package/dist/interaction_handler/SilentHandler.js.map +1 -1
- package/dist/internals.d.ts +2 -0
- package/dist/internals.d.ts.map +1 -1
- package/dist/internals.js +3 -1
- package/dist/internals.js.map +1 -1
- package/dist/navigation/NavigationClient.js +1 -1
- package/dist/network/FetchClient.js +1 -1
- package/dist/network/XhrClient.js +1 -1
- package/dist/packageMetadata.d.ts +1 -1
- package/dist/packageMetadata.js +2 -2
- package/dist/packageMetadata.js.map +1 -1
- package/dist/request/EndSessionPopupRequest.d.ts +1 -1
- package/dist/request/EndSessionPopupRequest.d.ts.map +1 -1
- package/dist/request/EndSessionRequest.d.ts +1 -1
- package/dist/request/EndSessionRequest.d.ts.map +1 -1
- package/dist/telemetry/BrowserPerformanceClient.d.ts +18 -1
- package/dist/telemetry/BrowserPerformanceClient.d.ts.map +1 -1
- package/dist/telemetry/BrowserPerformanceClient.js +58 -2
- package/dist/telemetry/BrowserPerformanceClient.js.map +1 -1
- package/dist/telemetry/BrowserPerformanceMeasurement.js +1 -1
- package/dist/utils/BrowserConstants.js +1 -1
- package/dist/utils/BrowserProtocolUtils.js +1 -1
- package/dist/utils/BrowserStringUtils.js +1 -1
- package/dist/utils/BrowserUtils.js +1 -1
- package/dist/utils/MathUtils.js +1 -1
- package/lib/msal-browser.js +1345 -761
- package/lib/msal-browser.js.map +1 -1
- package/lib/msal-browser.min.js +43 -44
- package/package.json +2 -2
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
/*! @azure/msal-browser v2.
|
|
1
|
+
/*! @azure/msal-browser v2.33.0 2023-02-06 */
|
|
2
2
|
'use strict';
|
|
3
3
|
import { __extends, __assign } from '../_virtual/_tslib.js';
|
|
4
4
|
import { PerformanceClient } from '@azure/msal-common';
|
|
@@ -18,7 +18,7 @@ var BrowserPerformanceClient = /** @class */ (function (_super) {
|
|
|
18
18
|
_this.guidGenerator = new GuidGenerator(_this.browserCrypto);
|
|
19
19
|
return _this;
|
|
20
20
|
}
|
|
21
|
-
BrowserPerformanceClient.prototype.
|
|
21
|
+
BrowserPerformanceClient.prototype.startPerformanceMeasuremeant = function (measureName, correlationId) {
|
|
22
22
|
return new BrowserPerformanceMeasurement(measureName, correlationId);
|
|
23
23
|
};
|
|
24
24
|
BrowserPerformanceClient.prototype.generateId = function () {
|
|
@@ -28,6 +28,11 @@ var BrowserPerformanceClient = /** @class */ (function (_super) {
|
|
|
28
28
|
var _a;
|
|
29
29
|
return ((_a = document.visibilityState) === null || _a === void 0 ? void 0 : _a.toString()) || null;
|
|
30
30
|
};
|
|
31
|
+
BrowserPerformanceClient.prototype.supportsBrowserPerformanceNow = function () {
|
|
32
|
+
return typeof window !== "undefined" &&
|
|
33
|
+
typeof window.performance !== "undefined" &&
|
|
34
|
+
typeof window.performance.now === "function";
|
|
35
|
+
};
|
|
31
36
|
/**
|
|
32
37
|
* Starts measuring performance for a given operation. Returns a function that should be used to end the measurement.
|
|
33
38
|
* Also captures browser page visibilityState.
|
|
@@ -45,6 +50,57 @@ var BrowserPerformanceClient = /** @class */ (function (_super) {
|
|
|
45
50
|
return inProgressEvent.endMeasurement(__assign({ startPageVisibility: startPageVisibility, endPageVisibility: _this.getPageVisibility() }, event));
|
|
46
51
|
} });
|
|
47
52
|
};
|
|
53
|
+
/**
|
|
54
|
+
* Adds pre-queue time to preQueueTimeByCorrelationId map.
|
|
55
|
+
* @param {PerformanceEvents} eventName
|
|
56
|
+
* @param {?string} correlationId
|
|
57
|
+
* @returns
|
|
58
|
+
*/
|
|
59
|
+
BrowserPerformanceClient.prototype.setPreQueueTime = function (eventName, correlationId) {
|
|
60
|
+
if (!this.supportsBrowserPerformanceNow()) {
|
|
61
|
+
this.logger.trace("BrowserPerformanceClient: window performance API not available, unable to set telemetry queue time for " + eventName);
|
|
62
|
+
return;
|
|
63
|
+
}
|
|
64
|
+
if (!correlationId) {
|
|
65
|
+
this.logger.trace("BrowserPerformanceClient: correlationId for " + eventName + " not provided, unable to set telemetry queue time");
|
|
66
|
+
return;
|
|
67
|
+
}
|
|
68
|
+
var preQueueTimesByEvents = this.preQueueTimeByCorrelationId.get(correlationId);
|
|
69
|
+
if (preQueueTimesByEvents) {
|
|
70
|
+
preQueueTimesByEvents.set(eventName, window.performance.now());
|
|
71
|
+
this.preQueueTimeByCorrelationId.set(correlationId, preQueueTimesByEvents);
|
|
72
|
+
}
|
|
73
|
+
else {
|
|
74
|
+
var preQueueTimes = new Map();
|
|
75
|
+
preQueueTimes.set(eventName, window.performance.now());
|
|
76
|
+
this.preQueueTimeByCorrelationId.set(correlationId, preQueueTimes);
|
|
77
|
+
}
|
|
78
|
+
};
|
|
79
|
+
/**
|
|
80
|
+
* Calculates and adds queue time measurement for given performance event.
|
|
81
|
+
*
|
|
82
|
+
* @param {PerformanceEvents} name
|
|
83
|
+
* @param {?string} correlationId
|
|
84
|
+
* @param {?number} preQueueTime
|
|
85
|
+
* @returns
|
|
86
|
+
*/
|
|
87
|
+
BrowserPerformanceClient.prototype.addQueueMeasurement = function (eventName, correlationId) {
|
|
88
|
+
if (!this.supportsBrowserPerformanceNow()) {
|
|
89
|
+
this.logger.trace("BrowserPerformanceClient: window performance API not available, unable to add queue measurement for " + eventName);
|
|
90
|
+
return;
|
|
91
|
+
}
|
|
92
|
+
if (!correlationId) {
|
|
93
|
+
this.logger.trace("BrowserPerformanceClient: correlationId for " + eventName + " not provided, unable to add queue measurement");
|
|
94
|
+
return;
|
|
95
|
+
}
|
|
96
|
+
var preQueueTime = _super.prototype.getPreQueueTime.call(this, eventName, correlationId);
|
|
97
|
+
if (!preQueueTime) {
|
|
98
|
+
return;
|
|
99
|
+
}
|
|
100
|
+
var currentTime = window.performance.now();
|
|
101
|
+
var queueTime = _super.prototype.calculateQueuedTime.call(this, preQueueTime, currentTime);
|
|
102
|
+
return _super.prototype.addQueueMeasurement.call(this, eventName, correlationId, queueTime);
|
|
103
|
+
};
|
|
48
104
|
return BrowserPerformanceClient;
|
|
49
105
|
}(PerformanceClient));
|
|
50
106
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"BrowserPerformanceClient.js","sources":["../../src/telemetry/BrowserPerformanceClient.ts"],"sourcesContent":["/*\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Licensed under the MIT License.\n */\n\nimport { Logger, PerformanceEvent, PerformanceEvents, IPerformanceClient, PerformanceClient, IPerformanceMeasurement, InProgressPerformanceEvent, ApplicationTelemetry } from \"@azure/msal-common\";\nimport { CryptoOptions } from \"../config/Configuration\";\nimport { BrowserCrypto } from \"../crypto/BrowserCrypto\";\nimport { GuidGenerator } from \"../crypto/GuidGenerator\";\nimport { BrowserPerformanceMeasurement } from \"./BrowserPerformanceMeasurement\";\n\nexport class BrowserPerformanceClient extends PerformanceClient implements IPerformanceClient {\n private browserCrypto: BrowserCrypto;\n private guidGenerator: GuidGenerator;\n \n constructor(clientId: string, authority: string, logger: Logger, libraryName: string, libraryVersion: string, applicationTelemetry: ApplicationTelemetry, cryptoOptions: CryptoOptions) {\n super(clientId, authority, logger, libraryName, libraryVersion, applicationTelemetry);\n this.browserCrypto = new BrowserCrypto(this.logger, cryptoOptions);\n this.guidGenerator = new GuidGenerator(this.browserCrypto);\n }\n \n
|
|
1
|
+
{"version":3,"file":"BrowserPerformanceClient.js","sources":["../../src/telemetry/BrowserPerformanceClient.ts"],"sourcesContent":["/*\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Licensed under the MIT License.\n */\n\nimport { Logger, PerformanceEvent, PerformanceEvents, IPerformanceClient, PerformanceClient, IPerformanceMeasurement, InProgressPerformanceEvent, ApplicationTelemetry } from \"@azure/msal-common\";\nimport { CryptoOptions } from \"../config/Configuration\";\nimport { BrowserCrypto } from \"../crypto/BrowserCrypto\";\nimport { GuidGenerator } from \"../crypto/GuidGenerator\";\nimport { BrowserPerformanceMeasurement } from \"./BrowserPerformanceMeasurement\";\n\nexport class BrowserPerformanceClient extends PerformanceClient implements IPerformanceClient {\n private browserCrypto: BrowserCrypto;\n private guidGenerator: GuidGenerator;\n \n constructor(clientId: string, authority: string, logger: Logger, libraryName: string, libraryVersion: string, applicationTelemetry: ApplicationTelemetry, cryptoOptions: CryptoOptions) {\n super(clientId, authority, logger, libraryName, libraryVersion, applicationTelemetry);\n this.browserCrypto = new BrowserCrypto(this.logger, cryptoOptions);\n this.guidGenerator = new GuidGenerator(this.browserCrypto);\n }\n \n startPerformanceMeasuremeant(measureName: string, correlationId: string): IPerformanceMeasurement {\n return new BrowserPerformanceMeasurement(measureName, correlationId);\n }\n\n generateId() : string {\n return this.guidGenerator.generateGuid();\n }\n\n private getPageVisibility(): string | null {\n return document.visibilityState?.toString() || null;\n }\n\n supportsBrowserPerformanceNow(): boolean {\n return typeof window !== \"undefined\" &&\n typeof window.performance !== \"undefined\" &&\n typeof window.performance.now === \"function\";\n }\n \n /**\n * Starts measuring performance for a given operation. Returns a function that should be used to end the measurement.\n * Also captures browser page visibilityState.\n *\n * @param {PerformanceEvents} measureName\n * @param {?string} [correlationId]\n * @returns {((event?: Partial<PerformanceEvent>) => PerformanceEvent| null)}\n */\n startMeasurement(measureName: PerformanceEvents, correlationId?: string): InProgressPerformanceEvent {\n // Capture page visibilityState and then invoke start/end measurement\n const startPageVisibility = this.getPageVisibility();\n \n const inProgressEvent = super.startMeasurement(measureName, correlationId);\n\n return {\n ...inProgressEvent,\n endMeasurement: (event?: Partial<PerformanceEvent>): PerformanceEvent | null => {\n return inProgressEvent.endMeasurement({\n startPageVisibility,\n endPageVisibility: this.getPageVisibility(),\n ...event\n });\n }\n };\n }\n\n /**\n * Adds pre-queue time to preQueueTimeByCorrelationId map.\n * @param {PerformanceEvents} eventName \n * @param {?string} correlationId \n * @returns \n */\n setPreQueueTime(eventName: PerformanceEvents, correlationId?: string): void {\n if (!this.supportsBrowserPerformanceNow()) {\n this.logger.trace(`BrowserPerformanceClient: window performance API not available, unable to set telemetry queue time for ${eventName}`);\n return;\n }\n\n if (!correlationId) {\n this.logger.trace(`BrowserPerformanceClient: correlationId for ${eventName} not provided, unable to set telemetry queue time`);\n return;\n }\n\n const preQueueTimesByEvents = this.preQueueTimeByCorrelationId.get(correlationId);\n\n if (preQueueTimesByEvents){\n preQueueTimesByEvents.set(eventName, window.performance.now());\n this.preQueueTimeByCorrelationId.set(correlationId, preQueueTimesByEvents);\n } else {\n const preQueueTimes = new Map();\n preQueueTimes.set(eventName, window.performance.now());\n this.preQueueTimeByCorrelationId.set(correlationId, preQueueTimes);\n }\n }\n\n /**\n * Calculates and adds queue time measurement for given performance event.\n * \n * @param {PerformanceEvents} name \n * @param {?string} correlationId \n * @param {?number} preQueueTime \n * @returns \n */\n addQueueMeasurement(eventName: PerformanceEvents, correlationId?: string): void {\n if (!this.supportsBrowserPerformanceNow()) {\n this.logger.trace(`BrowserPerformanceClient: window performance API not available, unable to add queue measurement for ${eventName}`);\n return;\n }\n\n if (!correlationId) {\n this.logger.trace(`BrowserPerformanceClient: correlationId for ${eventName} not provided, unable to add queue measurement`);\n return;\n }\n\n const preQueueTime = super.getPreQueueTime(eventName, correlationId);\n if (!preQueueTime) {\n return;\n }\n \n const currentTime = window.performance.now();\n const queueTime = super.calculateQueuedTime(preQueueTime, currentTime);\n\n return super.addQueueMeasurement(eventName, correlationId, queueTime);\n }\n}\n"],"names":[],"mappings":"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"}
|
package/dist/utils/MathUtils.js
CHANGED