@azure/msal-browser 2.33.0 → 2.34.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (86) hide show
  1. package/README.md +1 -1
  2. package/dist/_virtual/_tslib.js +1 -1
  3. package/dist/app/ClientApplication.d.ts.map +1 -1
  4. package/dist/app/ClientApplication.js +15 -18
  5. package/dist/app/ClientApplication.js.map +1 -1
  6. package/dist/app/IPublicClientApplication.js +1 -1
  7. package/dist/app/PublicClientApplication.d.ts.map +1 -1
  8. package/dist/app/PublicClientApplication.js +1 -6
  9. package/dist/app/PublicClientApplication.js.map +1 -1
  10. package/dist/broker/nativeBroker/NativeMessageHandler.d.ts +10 -7
  11. package/dist/broker/nativeBroker/NativeMessageHandler.d.ts.map +1 -1
  12. package/dist/broker/nativeBroker/NativeMessageHandler.js +18 -8
  13. package/dist/broker/nativeBroker/NativeMessageHandler.js.map +1 -1
  14. package/dist/cache/AsyncMemoryStorage.js +1 -1
  15. package/dist/cache/BrowserCacheManager.js +1 -1
  16. package/dist/cache/BrowserStorage.js +1 -1
  17. package/dist/cache/CryptoKeyStore.js +1 -1
  18. package/dist/cache/DatabaseStorage.js +1 -1
  19. package/dist/cache/MemoryStorage.js +1 -1
  20. package/dist/cache/TokenCache.js +1 -1
  21. package/dist/config/Configuration.js +1 -1
  22. package/dist/crypto/BrowserCrypto.js +1 -1
  23. package/dist/crypto/CryptoOps.js +1 -1
  24. package/dist/crypto/GuidGenerator.js +1 -1
  25. package/dist/crypto/ModernBrowserCrypto.js +1 -1
  26. package/dist/crypto/MsBrowserCrypto.js +1 -1
  27. package/dist/crypto/MsrBrowserCrypto.js +1 -1
  28. package/dist/crypto/PkceGenerator.js +1 -1
  29. package/dist/crypto/SignedHttpRequest.js +1 -1
  30. package/dist/encode/Base64Decode.js +1 -1
  31. package/dist/encode/Base64Encode.js +1 -1
  32. package/dist/error/BrowserAuthError.d.ts +8 -0
  33. package/dist/error/BrowserAuthError.d.ts.map +1 -1
  34. package/dist/error/BrowserAuthError.js +11 -1
  35. package/dist/error/BrowserAuthError.js.map +1 -1
  36. package/dist/error/BrowserConfigurationAuthError.js +1 -1
  37. package/dist/error/NativeAuthError.js +1 -1
  38. package/dist/event/EventHandler.js +1 -1
  39. package/dist/event/EventMessage.js +1 -1
  40. package/dist/event/EventType.js +1 -1
  41. package/dist/index.cjs.js +475 -355
  42. package/dist/index.cjs.js.map +1 -1
  43. package/dist/index.js +1 -1
  44. package/dist/interaction_client/BaseInteractionClient.js +1 -1
  45. package/dist/interaction_client/HybridSpaAuthorizationCodeClient.js +1 -1
  46. package/dist/interaction_client/NativeInteractionClient.d.ts +66 -3
  47. package/dist/interaction_client/NativeInteractionClient.d.ts.map +1 -1
  48. package/dist/interaction_client/NativeInteractionClient.js +174 -68
  49. package/dist/interaction_client/NativeInteractionClient.js.map +1 -1
  50. package/dist/interaction_client/PopupClient.js +1 -1
  51. package/dist/interaction_client/RedirectClient.js +1 -1
  52. package/dist/interaction_client/SilentAuthCodeClient.js +1 -1
  53. package/dist/interaction_client/SilentCacheClient.js +1 -1
  54. package/dist/interaction_client/SilentIframeClient.js +1 -1
  55. package/dist/interaction_client/SilentRefreshClient.js +1 -1
  56. package/dist/interaction_client/StandardInteractionClient.js +1 -1
  57. package/dist/interaction_handler/InteractionHandler.js +1 -1
  58. package/dist/interaction_handler/RedirectHandler.js +1 -1
  59. package/dist/interaction_handler/SilentHandler.js +1 -1
  60. package/dist/internals.d.ts +3 -0
  61. package/dist/internals.d.ts.map +1 -1
  62. package/dist/internals.js +2 -1
  63. package/dist/internals.js.map +1 -1
  64. package/dist/navigation/NavigationClient.js +1 -1
  65. package/dist/network/FetchClient.js +1 -1
  66. package/dist/network/XhrClient.js +1 -1
  67. package/dist/packageMetadata.d.ts +1 -1
  68. package/dist/packageMetadata.js +2 -2
  69. package/dist/packageMetadata.js.map +1 -1
  70. package/dist/telemetry/BrowserPerformanceClient.d.ts +5 -3
  71. package/dist/telemetry/BrowserPerformanceClient.d.ts.map +1 -1
  72. package/dist/telemetry/BrowserPerformanceClient.js +37 -16
  73. package/dist/telemetry/BrowserPerformanceClient.js.map +1 -1
  74. package/dist/telemetry/BrowserPerformanceMeasurement.d.ts +14 -5
  75. package/dist/telemetry/BrowserPerformanceMeasurement.d.ts.map +1 -1
  76. package/dist/telemetry/BrowserPerformanceMeasurement.js +36 -4
  77. package/dist/telemetry/BrowserPerformanceMeasurement.js.map +1 -1
  78. package/dist/utils/BrowserConstants.js +1 -1
  79. package/dist/utils/BrowserProtocolUtils.js +1 -1
  80. package/dist/utils/BrowserStringUtils.js +1 -1
  81. package/dist/utils/BrowserUtils.js +1 -1
  82. package/dist/utils/MathUtils.js +1 -1
  83. package/lib/msal-browser.js +475 -355
  84. package/lib/msal-browser.js.map +1 -1
  85. package/lib/msal-browser.min.js +33 -33
  86. package/package.json +2 -2
@@ -1,4 +1,4 @@
1
- /*! @azure/msal-browser v2.33.0 2023-02-06 */
1
+ /*! @azure/msal-browser v2.34.0 2023-03-07 */
2
2
  'use strict';
3
3
  import { __extends, __awaiter, __generator, __assign } from '../_virtual/_tslib.js';
4
4
  import { AuthError, PerformanceEvents, Constants } from '@azure/msal-common';
@@ -1,4 +1,4 @@
1
- /*! @azure/msal-browser v2.33.0 2023-02-06 */
1
+ /*! @azure/msal-browser v2.34.0 2023-03-07 */
2
2
  'use strict';
3
3
  import { __extends, __awaiter, __generator, __assign } from '../_virtual/_tslib.js';
4
4
  import { StandardInteractionClient } from './StandardInteractionClient.js';
@@ -1,4 +1,4 @@
1
- /*! @azure/msal-browser v2.33.0 2023-02-06 */
1
+ /*! @azure/msal-browser v2.34.0 2023-03-07 */
2
2
  'use strict';
3
3
  import { __extends, __awaiter, __generator, __assign } from '../_virtual/_tslib.js';
4
4
  import { AuthError, PerformanceEvents, Constants, StringUtils, PromptValue, UrlString, ProtocolUtils } from '@azure/msal-common';
@@ -1,4 +1,4 @@
1
- /*! @azure/msal-browser v2.33.0 2023-02-06 */
1
+ /*! @azure/msal-browser v2.34.0 2023-03-07 */
2
2
  'use strict';
3
3
  import { __extends, __awaiter, __generator, __assign } from '../_virtual/_tslib.js';
4
4
  import { StandardInteractionClient } from './StandardInteractionClient.js';
@@ -1,4 +1,4 @@
1
- /*! @azure/msal-browser v2.33.0 2023-02-06 */
1
+ /*! @azure/msal-browser v2.34.0 2023-03-07 */
2
2
  'use strict';
3
3
  import { __extends, __awaiter, __generator, __assign } from '../_virtual/_tslib.js';
4
4
  import { UrlString, Constants, PerformanceEvents, AuthorizationCodeClient, Authority, AuthorityFactory, ResponseMode, StringUtils, ProtocolUtils } from '@azure/msal-common';
@@ -1,4 +1,4 @@
1
- /*! @azure/msal-browser v2.33.0 2023-02-06 */
1
+ /*! @azure/msal-browser v2.34.0 2023-03-07 */
2
2
  'use strict';
3
3
  import { __awaiter, __generator } from '../_virtual/_tslib.js';
4
4
  import { PerformanceEvents, StringUtils, ClientAuthError, ServerError, AuthorityFactory } from '@azure/msal-common';
@@ -1,4 +1,4 @@
1
- /*! @azure/msal-browser v2.33.0 2023-02-06 */
1
+ /*! @azure/msal-browser v2.34.0 2023-03-07 */
2
2
  'use strict';
3
3
  import { __extends, __awaiter, __generator } from '../_virtual/_tslib.js';
4
4
  import { StringUtils, ClientAuthError, ServerError } from '@azure/msal-common';
@@ -1,4 +1,4 @@
1
- /*! @azure/msal-browser v2.33.0 2023-02-06 */
1
+ /*! @azure/msal-browser v2.34.0 2023-03-07 */
2
2
  'use strict';
3
3
  import { __extends, __awaiter, __generator } from '../_virtual/_tslib.js';
4
4
  import { PerformanceEvents, StringUtils, Constants, UrlString } from '@azure/msal-common';
@@ -9,6 +9,7 @@ export { PopupClient } from "./interaction_client/PopupClient";
9
9
  export { SilentIframeClient } from "./interaction_client/SilentIframeClient";
10
10
  export { SilentCacheClient } from "./interaction_client/SilentCacheClient";
11
11
  export { SilentRefreshClient } from "./interaction_client/SilentRefreshClient";
12
+ export { NativeInteractionClient } from "./interaction_client/NativeInteractionClient";
12
13
  export { RedirectHandler } from "./interaction_handler/RedirectHandler";
13
14
  export { EventHandler } from "./event/EventHandler";
14
15
  export { NativeMessageHandler } from "./broker/nativeBroker/NativeMessageHandler";
@@ -18,4 +19,6 @@ export { CryptoOps } from "./crypto/CryptoOps";
18
19
  export { NativeAuthError } from "./error/NativeAuthError";
19
20
  export { BrowserPerformanceClient } from "./telemetry/BrowserPerformanceClient";
20
21
  export { BrowserPerformanceMeasurement } from "./telemetry/BrowserPerformanceMeasurement";
22
+ export { NativeTokenRequest } from "./broker/nativeBroker/NativeRequest";
23
+ export { NativeResponse, MATS } from "./broker/nativeBroker/NativeResponse";
21
24
  //# sourceMappingURL=internals.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"internals.d.ts","sourceRoot":"","sources":["../src/internals.ts"],"names":[],"mappings":"AAKA;;;GAGG;AAGH,OAAO,EAAE,mBAAmB,EAAE,MAAM,6BAA6B,CAAC;AAGlE,OAAO,EAAE,yBAAyB,EAAE,MAAM,gDAAgD,CAAC;AAC3F,OAAO,EAAE,cAAc,EAAE,MAAM,qCAAqC,CAAC;AACrE,OAAO,EAAE,WAAW,EAAE,MAAM,kCAAkC,CAAC;AAC/D,OAAO,EAAE,kBAAkB,EAAE,MAAM,yCAAyC,CAAC;AAC7E,OAAO,EAAE,iBAAiB,EAAE,MAAM,wCAAwC,CAAC;AAC3E,OAAO,EAAE,mBAAmB,EAAE,MAAM,0CAA0C,CAAC;AAG/E,OAAO,EAAE,eAAe,EAAE,MAAM,uCAAuC,CAAC;AACxE,OAAO,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AACpD,OAAO,EAAE,oBAAoB,EAAE,MAAM,4CAA4C,CAAC;AAGlF,OAAO,EAAE,kBAAkB,EAAE,MAAM,8BAA8B,CAAC;AAClE,OAAO,EAAE,gBAAgB,EAAE,kBAAkB,EAAE,MAAM,0BAA0B,CAAC;AAGhF,OAAO,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAG/C,OAAO,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAC;AAG1D,OAAO,EAAE,wBAAwB,EAAE,MAAM,sCAAsC,CAAC;AAChF,OAAO,EAAE,6BAA6B,EAAE,MAAM,2CAA2C,CAAC"}
1
+ {"version":3,"file":"internals.d.ts","sourceRoot":"","sources":["../src/internals.ts"],"names":[],"mappings":"AAKA;;;GAGG;AAGH,OAAO,EAAE,mBAAmB,EAAE,MAAM,6BAA6B,CAAC;AAGlE,OAAO,EAAE,yBAAyB,EAAE,MAAM,gDAAgD,CAAC;AAC3F,OAAO,EAAE,cAAc,EAAE,MAAM,qCAAqC,CAAC;AACrE,OAAO,EAAE,WAAW,EAAE,MAAM,kCAAkC,CAAC;AAC/D,OAAO,EAAE,kBAAkB,EAAE,MAAM,yCAAyC,CAAC;AAC7E,OAAO,EAAE,iBAAiB,EAAE,MAAM,wCAAwC,CAAC;AAC3E,OAAO,EAAE,mBAAmB,EAAE,MAAM,0CAA0C,CAAC;AAC/E,OAAO,EAAE,uBAAuB,EAAE,MAAM,8CAA8C,CAAC;AAGvF,OAAO,EAAE,eAAe,EAAE,MAAM,uCAAuC,CAAC;AACxE,OAAO,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AACpD,OAAO,EAAE,oBAAoB,EAAE,MAAM,4CAA4C,CAAC;AAGlF,OAAO,EAAE,kBAAkB,EAAE,MAAM,8BAA8B,CAAC;AAClE,OAAO,EAAE,gBAAgB,EAAE,kBAAkB,EAAE,MAAM,0BAA0B,CAAC;AAGhF,OAAO,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAG/C,OAAO,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAC;AAG1D,OAAO,EAAE,wBAAwB,EAAE,MAAM,sCAAsC,CAAC;AAChF,OAAO,EAAE,6BAA6B,EAAE,MAAM,2CAA2C,CAAC;AAG1F,OAAO,EAAE,kBAAkB,EAAE,MAAM,qCAAqC,CAAC;AACzE,OAAO,EAAE,cAAc,EAAE,IAAI,EAAE,MAAM,sCAAsC,CAAC"}
package/dist/internals.js CHANGED
@@ -1,4 +1,4 @@
1
- /*! @azure/msal-browser v2.33.0 2023-02-06 */
1
+ /*! @azure/msal-browser v2.34.0 2023-03-07 */
2
2
  'use strict';
3
3
  export { BrowserCacheManager } from './cache/BrowserCacheManager.js';
4
4
  export { StandardInteractionClient } from './interaction_client/StandardInteractionClient.js';
@@ -7,6 +7,7 @@ export { PopupClient } from './interaction_client/PopupClient.js';
7
7
  export { SilentIframeClient } from './interaction_client/SilentIframeClient.js';
8
8
  export { SilentCacheClient } from './interaction_client/SilentCacheClient.js';
9
9
  export { SilentRefreshClient } from './interaction_client/SilentRefreshClient.js';
10
+ export { NativeInteractionClient } from './interaction_client/NativeInteractionClient.js';
10
11
  export { RedirectHandler } from './interaction_handler/RedirectHandler.js';
11
12
  export { EventHandler } from './event/EventHandler.js';
12
13
  export { NativeMessageHandler } from './broker/nativeBroker/NativeMessageHandler.js';
@@ -1 +1 @@
1
- {"version":3,"file":"internals.js","sources":["../src/internals.ts"],"sourcesContent":["/*\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Licensed under the MIT License.\n */\n\n/**\n * Warning: This set of exports is purely intended to be used by other MSAL libraries, and should be considered potentially unstable. We strongly discourage using them directly, you do so at your own risk.\n * Breaking changes to these APIs will be shipped under a minor version, instead of a major version.\n */\n\n// Cache Manager\nexport { BrowserCacheManager } from \"./cache/BrowserCacheManager\";\n\n// Clients\nexport { StandardInteractionClient } from \"./interaction_client/StandardInteractionClient\";\nexport { RedirectClient } from \"./interaction_client/RedirectClient\";\nexport { PopupClient } from \"./interaction_client/PopupClient\";\nexport { SilentIframeClient } from \"./interaction_client/SilentIframeClient\";\nexport { SilentCacheClient } from \"./interaction_client/SilentCacheClient\";\nexport { SilentRefreshClient } from \"./interaction_client/SilentRefreshClient\";\n\n// Handlers\nexport { RedirectHandler } from \"./interaction_handler/RedirectHandler\";\nexport { EventHandler } from \"./event/EventHandler\";\nexport { NativeMessageHandler } from \"./broker/nativeBroker/NativeMessageHandler\";\n\n// Utilities\nexport { BrowserStateObject } from \"./utils/BrowserProtocolUtils\";\nexport { BrowserConstants, TemporaryCacheKeys } from \"./utils/BrowserConstants\";\n\n// Crypto\nexport { CryptoOps } from \"./crypto/CryptoOps\";\n\n// Browser Errors\nexport { NativeAuthError } from \"./error/NativeAuthError\";\n\n// Telemetry\nexport { BrowserPerformanceClient } from \"./telemetry/BrowserPerformanceClient\";\nexport { BrowserPerformanceMeasurement } from \"./telemetry/BrowserPerformanceMeasurement\";\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;AAAA;;;"}
1
+ {"version":3,"file":"internals.js","sources":["../src/internals.ts"],"sourcesContent":["/*\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Licensed under the MIT License.\n */\n\n/**\n * Warning: This set of exports is purely intended to be used by other MSAL libraries, and should be considered potentially unstable. We strongly discourage using them directly, you do so at your own risk.\n * Breaking changes to these APIs will be shipped under a minor version, instead of a major version.\n */\n\n// Cache Manager\nexport { BrowserCacheManager } from \"./cache/BrowserCacheManager\";\n\n// Clients\nexport { StandardInteractionClient } from \"./interaction_client/StandardInteractionClient\";\nexport { RedirectClient } from \"./interaction_client/RedirectClient\";\nexport { PopupClient } from \"./interaction_client/PopupClient\";\nexport { SilentIframeClient } from \"./interaction_client/SilentIframeClient\";\nexport { SilentCacheClient } from \"./interaction_client/SilentCacheClient\";\nexport { SilentRefreshClient } from \"./interaction_client/SilentRefreshClient\";\nexport { NativeInteractionClient } from \"./interaction_client/NativeInteractionClient\";\n\n// Handlers\nexport { RedirectHandler } from \"./interaction_handler/RedirectHandler\";\nexport { EventHandler } from \"./event/EventHandler\";\nexport { NativeMessageHandler } from \"./broker/nativeBroker/NativeMessageHandler\";\n\n// Utilities\nexport { BrowserStateObject } from \"./utils/BrowserProtocolUtils\";\nexport { BrowserConstants, TemporaryCacheKeys } from \"./utils/BrowserConstants\";\n\n// Crypto\nexport { CryptoOps } from \"./crypto/CryptoOps\";\n\n// Browser Errors\nexport { NativeAuthError } from \"./error/NativeAuthError\";\n\n// Telemetry\nexport { BrowserPerformanceClient } from \"./telemetry/BrowserPerformanceClient\";\nexport { BrowserPerformanceMeasurement } from \"./telemetry/BrowserPerformanceMeasurement\";\n\n// Native request and response\nexport { NativeTokenRequest } from \"./broker/nativeBroker/NativeRequest\";\nexport { NativeResponse, MATS } from \"./broker/nativeBroker/NativeResponse\";\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;AAAA;;;"}
@@ -1,4 +1,4 @@
1
- /*! @azure/msal-browser v2.33.0 2023-02-06 */
1
+ /*! @azure/msal-browser v2.34.0 2023-03-07 */
2
2
  'use strict';
3
3
  /*
4
4
  * Copyright (c) Microsoft Corporation. All rights reserved.
@@ -1,4 +1,4 @@
1
- /*! @azure/msal-browser v2.33.0 2023-02-06 */
1
+ /*! @azure/msal-browser v2.34.0 2023-03-07 */
2
2
  'use strict';
3
3
  import { __awaiter, __generator } from '../_virtual/_tslib.js';
4
4
  import { Constants } from '@azure/msal-common';
@@ -1,4 +1,4 @@
1
- /*! @azure/msal-browser v2.33.0 2023-02-06 */
1
+ /*! @azure/msal-browser v2.34.0 2023-03-07 */
2
2
  'use strict';
3
3
  import { __awaiter, __generator } from '../_virtual/_tslib.js';
4
4
  import { BrowserAuthError } from '../error/BrowserAuthError.js';
@@ -1,3 +1,3 @@
1
1
  export declare const name = "@azure/msal-browser";
2
- export declare const version = "2.33.0";
2
+ export declare const version = "2.34.0";
3
3
  //# sourceMappingURL=packageMetadata.d.ts.map
@@ -1,8 +1,8 @@
1
- /*! @azure/msal-browser v2.33.0 2023-02-06 */
1
+ /*! @azure/msal-browser v2.34.0 2023-03-07 */
2
2
  'use strict';
3
3
  /* eslint-disable header/header */
4
4
  var name = "@azure/msal-browser";
5
- var version = "2.33.0";
5
+ var version = "2.34.0";
6
6
 
7
7
  export { name, version };
8
8
  //# sourceMappingURL=packageMetadata.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"packageMetadata.js","sources":["../src/packageMetadata.ts"],"sourcesContent":["/* eslint-disable header/header */\nexport const name = \"@azure/msal-browser\";\nexport const version = \"2.33.0\";\n"],"names":[],"mappings":";;AAAA;IACa,IAAI,GAAG,sBAAsB;IAC7B,OAAO,GAAG;;;;"}
1
+ {"version":3,"file":"packageMetadata.js","sources":["../src/packageMetadata.ts"],"sourcesContent":["/* eslint-disable header/header */\nexport const name = \"@azure/msal-browser\";\nexport const version = \"2.34.0\";\n"],"names":[],"mappings":";;AAAA;IACa,IAAI,GAAG,sBAAsB;IAC7B,OAAO,GAAG;;;;"}
@@ -7,6 +7,7 @@ export declare class BrowserPerformanceClient extends PerformanceClient implemen
7
7
  startPerformanceMeasuremeant(measureName: string, correlationId: string): IPerformanceMeasurement;
8
8
  generateId(): string;
9
9
  private getPageVisibility;
10
+ private deleteIncompleteSubMeasurements;
10
11
  supportsBrowserPerformanceNow(): boolean;
11
12
  /**
12
13
  * Starts measuring performance for a given operation. Returns a function that should be used to end the measurement.
@@ -27,11 +28,12 @@ export declare class BrowserPerformanceClient extends PerformanceClient implemen
27
28
  /**
28
29
  * Calculates and adds queue time measurement for given performance event.
29
30
  *
30
- * @param {PerformanceEvents} name
31
+ * @param {PerformanceEvents} eventName
31
32
  * @param {?string} correlationId
32
- * @param {?number} preQueueTime
33
+ * @param {?number} queueTime
34
+ * @param {?boolean} manuallyCompleted - indicator for manually completed queue measurements
33
35
  * @returns
34
36
  */
35
- addQueueMeasurement(eventName: PerformanceEvents, correlationId?: string): void;
37
+ addQueueMeasurement(eventName: PerformanceEvents, correlationId?: string, queueTime?: number, manuallyCompleted?: boolean): void;
36
38
  }
37
39
  //# sourceMappingURL=BrowserPerformanceClient.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"BrowserPerformanceClient.d.ts","sourceRoot":"","sources":["../../src/telemetry/BrowserPerformanceClient.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,MAAM,EAAoB,iBAAiB,EAAE,kBAAkB,EAAE,iBAAiB,EAAE,uBAAuB,EAAE,0BAA0B,EAAE,oBAAoB,EAAE,MAAM,oBAAoB,CAAC;AACnM,OAAO,EAAE,aAAa,EAAE,MAAM,yBAAyB,CAAC;AAKxD,qBAAa,wBAAyB,SAAQ,iBAAkB,YAAW,kBAAkB;IACzF,OAAO,CAAC,aAAa,CAAgB;IACrC,OAAO,CAAC,aAAa,CAAgB;gBAEzB,QAAQ,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,EAAE,cAAc,EAAE,MAAM,EAAE,oBAAoB,EAAE,oBAAoB,EAAE,aAAa,EAAE,aAAa;IAMtL,4BAA4B,CAAC,WAAW,EAAE,MAAM,EAAE,aAAa,EAAE,MAAM,GAAG,uBAAuB;IAIjG,UAAU,IAAK,MAAM;IAIrB,OAAO,CAAC,iBAAiB;IAIzB,6BAA6B,IAAI,OAAO;IAMxC;;;;;;;OAOG;IACH,gBAAgB,CAAC,WAAW,EAAE,iBAAiB,EAAE,aAAa,CAAC,EAAE,MAAM,GAAG,0BAA0B;IAkBpG;;;;;OAKG;IACH,eAAe,CAAC,SAAS,EAAE,iBAAiB,EAAE,aAAa,CAAC,EAAE,MAAM,GAAG,IAAI;IAuB3E;;;;;;;OAOG;IACH,mBAAmB,CAAC,SAAS,EAAE,iBAAiB,EAAE,aAAa,CAAC,EAAE,MAAM,GAAG,IAAI;CAqBlF"}
1
+ {"version":3,"file":"BrowserPerformanceClient.d.ts","sourceRoot":"","sources":["../../src/telemetry/BrowserPerformanceClient.ts"],"names":[],"mappings":"AAKA,OAAO,EACH,MAAM,EAEN,iBAAiB,EACjB,kBAAkB,EAClB,iBAAiB,EACjB,uBAAuB,EACvB,0BAA0B,EAC1B,oBAAoB,EAGvB,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EAAE,aAAa,EAAE,MAAM,yBAAyB,CAAC;AAKxD,qBAAa,wBAAyB,SAAQ,iBAAkB,YAAW,kBAAkB;IACzF,OAAO,CAAC,aAAa,CAAgB;IACrC,OAAO,CAAC,aAAa,CAAgB;gBAEzB,QAAQ,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,EAAE,cAAc,EAAE,MAAM,EAAE,oBAAoB,EAAE,oBAAoB,EAAE,aAAa,EAAE,aAAa;IAMtL,4BAA4B,CAAC,WAAW,EAAE,MAAM,EAAE,aAAa,EAAE,MAAM,GAAG,uBAAuB;IAIjG,UAAU,IAAK,MAAM;IAIrB,OAAO,CAAC,iBAAiB;IAIzB,OAAO,CAAC,+BAA+B;IAevC,6BAA6B,IAAI,OAAO;IAMxC;;;;;;;OAOG;IACH,gBAAgB,CAAC,WAAW,EAAE,iBAAiB,EAAE,aAAa,CAAC,EAAE,MAAM,GAAG,0BAA0B;IA0BpG;;;;;OAKG;IACH,eAAe,CAAC,SAAS,EAAE,iBAAiB,EAAE,aAAa,CAAC,EAAE,MAAM,GAAG,IAAI;IAuB3E;;;;;;;;OAQG;IACH,mBAAmB,CAAC,SAAS,EAAE,iBAAiB,EAAE,aAAa,CAAC,EAAE,MAAM,EAAE,SAAS,CAAC,EAAE,MAAM,EAAE,iBAAiB,CAAC,EAAE,OAAO,GAAG,IAAI;CAqBnI"}
@@ -1,4 +1,4 @@
1
- /*! @azure/msal-browser v2.33.0 2023-02-06 */
1
+ /*! @azure/msal-browser v2.34.0 2023-03-07 */
2
2
  'use strict';
3
3
  import { __extends, __assign } from '../_virtual/_tslib.js';
4
4
  import { PerformanceClient } from '@azure/msal-common';
@@ -28,6 +28,20 @@ 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.deleteIncompleteSubMeasurements = function (inProgressEvent) {
32
+ var rootEvent = this.eventsByCorrelationId.get(inProgressEvent.event.correlationId);
33
+ var isRootEvent = rootEvent && rootEvent.eventId === inProgressEvent.event.eventId;
34
+ var incompleteMeasurements = [];
35
+ if (isRootEvent && (rootEvent === null || rootEvent === void 0 ? void 0 : rootEvent.incompleteSubMeasurements)) {
36
+ rootEvent.incompleteSubMeasurements.forEach(function (subMeasurement) {
37
+ incompleteMeasurements.push(__assign({}, subMeasurement));
38
+ });
39
+ }
40
+ // Clean up remaining marks for incomplete sub-measurements
41
+ if (incompleteMeasurements.length > 0) {
42
+ BrowserPerformanceMeasurement.flushMeasurements(inProgressEvent.event.correlationId, incompleteMeasurements);
43
+ }
44
+ };
31
45
  BrowserPerformanceClient.prototype.supportsBrowserPerformanceNow = function () {
32
46
  return typeof window !== "undefined" &&
33
47
  typeof window.performance !== "undefined" &&
@@ -47,7 +61,13 @@ var BrowserPerformanceClient = /** @class */ (function (_super) {
47
61
  var startPageVisibility = this.getPageVisibility();
48
62
  var inProgressEvent = _super.prototype.startMeasurement.call(this, measureName, correlationId);
49
63
  return __assign(__assign({}, inProgressEvent), { endMeasurement: function (event) {
50
- return inProgressEvent.endMeasurement(__assign({ startPageVisibility: startPageVisibility, endPageVisibility: _this.getPageVisibility() }, event));
64
+ var res = inProgressEvent.endMeasurement(__assign({ startPageVisibility: startPageVisibility, endPageVisibility: _this.getPageVisibility() }, event));
65
+ _this.deleteIncompleteSubMeasurements(inProgressEvent);
66
+ return res;
67
+ }, discardMeasurement: function () {
68
+ inProgressEvent.discardMeasurement();
69
+ _this.deleteIncompleteSubMeasurements(inProgressEvent);
70
+ inProgressEvent.measurement.flushMeasurement();
51
71
  } });
52
72
  };
53
73
  /**
@@ -65,26 +85,27 @@ var BrowserPerformanceClient = /** @class */ (function (_super) {
65
85
  this.logger.trace("BrowserPerformanceClient: correlationId for " + eventName + " not provided, unable to set telemetry queue time");
66
86
  return;
67
87
  }
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);
88
+ var preQueueEvent = this.preQueueTimeByCorrelationId.get(correlationId);
89
+ /**
90
+ * Manually complete queue measurement if there is an incomplete pre-queue event.
91
+ * Incomplete pre-queue events are instrumentation bugs that should be fixed.
92
+ */
93
+ if (preQueueEvent) {
94
+ this.logger.trace("BrowserPerformanceClient: Incomplete pre-queue " + preQueueEvent.name + " found", correlationId);
95
+ this.addQueueMeasurement(preQueueEvent.name, correlationId, undefined, true);
77
96
  }
97
+ this.preQueueTimeByCorrelationId.set(eventName, { name: eventName, time: window.performance.now() });
78
98
  };
79
99
  /**
80
100
  * Calculates and adds queue time measurement for given performance event.
81
101
  *
82
- * @param {PerformanceEvents} name
102
+ * @param {PerformanceEvents} eventName
83
103
  * @param {?string} correlationId
84
- * @param {?number} preQueueTime
104
+ * @param {?number} queueTime
105
+ * @param {?boolean} manuallyCompleted - indicator for manually completed queue measurements
85
106
  * @returns
86
107
  */
87
- BrowserPerformanceClient.prototype.addQueueMeasurement = function (eventName, correlationId) {
108
+ BrowserPerformanceClient.prototype.addQueueMeasurement = function (eventName, correlationId, queueTime, manuallyCompleted) {
88
109
  if (!this.supportsBrowserPerformanceNow()) {
89
110
  this.logger.trace("BrowserPerformanceClient: window performance API not available, unable to add queue measurement for " + eventName);
90
111
  return;
@@ -98,8 +119,8 @@ var BrowserPerformanceClient = /** @class */ (function (_super) {
98
119
  return;
99
120
  }
100
121
  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);
122
+ var resQueueTime = queueTime || _super.prototype.calculateQueuedTime.call(this, preQueueTime, currentTime);
123
+ return _super.prototype.addQueueMeasurement.call(this, eventName, correlationId, resQueueTime, manuallyCompleted);
103
124
  };
104
125
  return BrowserPerformanceClient;
105
126
  }(PerformanceClient));
@@ -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 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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"}
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 {\n Logger,\n PerformanceEvent,\n PerformanceEvents,\n IPerformanceClient,\n PerformanceClient,\n IPerformanceMeasurement,\n InProgressPerformanceEvent,\n ApplicationTelemetry,\n SubMeasurement,\n PreQueueEvent\n} 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 private deleteIncompleteSubMeasurements(inProgressEvent: InProgressPerformanceEvent): void {\n const rootEvent = this.eventsByCorrelationId.get(inProgressEvent.event.correlationId);\n const isRootEvent = rootEvent && rootEvent.eventId === inProgressEvent.event.eventId;\n const incompleteMeasurements: SubMeasurement[] = [];\n if (isRootEvent && rootEvent?.incompleteSubMeasurements) {\n rootEvent.incompleteSubMeasurements.forEach((subMeasurement) => {\n incompleteMeasurements.push({...subMeasurement});\n });\n }\n // Clean up remaining marks for incomplete sub-measurements\n if (incompleteMeasurements.length > 0) {\n BrowserPerformanceMeasurement.flushMeasurements(inProgressEvent.event.correlationId, incompleteMeasurements);\n }\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 const res = inProgressEvent.endMeasurement({\n startPageVisibility,\n endPageVisibility: this.getPageVisibility(),\n ...event\n });\n this.deleteIncompleteSubMeasurements(inProgressEvent);\n\n return res;\n },\n discardMeasurement: () => {\n inProgressEvent.discardMeasurement();\n this.deleteIncompleteSubMeasurements(inProgressEvent);\n inProgressEvent.measurement.flushMeasurement();\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 preQueueEvent: PreQueueEvent | undefined = this.preQueueTimeByCorrelationId.get(correlationId);\n /**\n * Manually complete queue measurement if there is an incomplete pre-queue event.\n * Incomplete pre-queue events are instrumentation bugs that should be fixed.\n */\n if (preQueueEvent) {\n this.logger.trace(`BrowserPerformanceClient: Incomplete pre-queue ${preQueueEvent.name} found`, correlationId);\n this.addQueueMeasurement(preQueueEvent.name, correlationId, undefined, true);\n }\n this.preQueueTimeByCorrelationId.set(eventName, { name: eventName, time: window.performance.now() });\n }\n\n /**\n * Calculates and adds queue time measurement for given performance event.\n *\n * @param {PerformanceEvents} eventName\n * @param {?string} correlationId\n * @param {?number} queueTime\n * @param {?boolean} manuallyCompleted - indicator for manually completed queue measurements\n * @returns\n */\n addQueueMeasurement(eventName: PerformanceEvents, correlationId?: string, queueTime?: number, manuallyCompleted?: boolean): 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 resQueueTime = queueTime || super.calculateQueuedTime(preQueueTime, currentTime);\n\n return super.addQueueMeasurement(eventName, correlationId, resQueueTime, manuallyCompleted);\n }\n}\n"],"names":[],"mappings":"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"}
@@ -1,11 +1,20 @@
1
- import { IPerformanceMeasurement } from "@azure/msal-common";
1
+ import { IPerformanceMeasurement, SubMeasurement } from "@azure/msal-common";
2
2
  export declare class BrowserPerformanceMeasurement implements IPerformanceMeasurement {
3
- private measureName;
4
- private correlationId;
5
- private startMark;
6
- private endMark;
3
+ private readonly measureName;
4
+ private readonly correlationId;
5
+ private readonly startMark;
6
+ private readonly endMark;
7
7
  constructor(name: string, correlationId: string);
8
+ private static makeMeasureName;
9
+ private static makeStartMark;
10
+ private static makeEndMark;
8
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;
9
18
  startMeasurement(): void;
10
19
  endMeasurement(): void;
11
20
  flushMeasurement(): number | null;
@@ -1 +1 @@
1
- {"version":3,"file":"BrowserPerformanceMeasurement.d.ts","sourceRoot":"","sources":["../../src/telemetry/BrowserPerformanceMeasurement.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,uBAAuB,EAAE,MAAM,oBAAoB,CAAC;AAE7D,qBAAa,6BAA8B,YAAW,uBAAuB;IACzE,OAAO,CAAC,WAAW,CAAS;IAC5B,OAAO,CAAC,aAAa,CAAS;IAC9B,OAAO,CAAC,SAAS,CAAS;IAC1B,OAAO,CAAC,OAAO,CAAS;gBAEZ,IAAI,EAAE,MAAM,EAAE,aAAa,EAAE,MAAM;IAO/C,MAAM,CAAC,0BAA0B,IAAI,OAAO;IAU5C,gBAAgB,IAAI,IAAI;IAUxB,cAAc,IAAG,IAAI;IAWrB,gBAAgB,IAAI,MAAM,GAAG,IAAI;CAiBpC"}
1
+ {"version":3,"file":"BrowserPerformanceMeasurement.d.ts","sourceRoot":"","sources":["../../src/telemetry/BrowserPerformanceMeasurement.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,uBAAuB,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AAE7E,qBAAa,6BAA8B,YAAW,uBAAuB;IACzE,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAS;IACrC,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAS;IACvC,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAS;IACnC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAS;gBAErB,IAAI,EAAE,MAAM,EAAE,aAAa,EAAE,MAAM;IAO/C,OAAO,CAAC,MAAM,CAAC,eAAe;IAI9B,OAAO,CAAC,MAAM,CAAC,aAAa;IAI5B,OAAO,CAAC,MAAM,CAAC,WAAW;IAI1B,MAAM,CAAC,0BAA0B,IAAI,OAAO;IAU5C;;;;OAIG;WACW,iBAAiB,CAAC,aAAa,EAAE,MAAM,EAAE,YAAY,EAAE,cAAc,EAAE,GAAG,IAAI;IAkB5F,gBAAgB,IAAI,IAAI;IAUxB,cAAc,IAAG,IAAI;IAWrB,gBAAgB,IAAI,MAAM,GAAG,IAAI;CAiBpC"}
@@ -1,4 +1,4 @@
1
- /*! @azure/msal-browser v2.33.0 2023-02-06 */
1
+ /*! @azure/msal-browser v2.34.0 2023-03-07 */
2
2
  'use strict';
3
3
  /*
4
4
  * Copyright (c) Microsoft Corporation. All rights reserved.
@@ -7,10 +7,19 @@
7
7
  var BrowserPerformanceMeasurement = /** @class */ (function () {
8
8
  function BrowserPerformanceMeasurement(name, correlationId) {
9
9
  this.correlationId = correlationId;
10
- this.measureName = "msal.measure." + name + "." + this.correlationId;
11
- this.startMark = "msal.start." + name + "." + this.correlationId;
12
- this.endMark = "msal.end." + name + "." + this.correlationId;
10
+ this.measureName = BrowserPerformanceMeasurement.makeMeasureName(name, correlationId);
11
+ this.startMark = BrowserPerformanceMeasurement.makeStartMark(name, correlationId);
12
+ this.endMark = BrowserPerformanceMeasurement.makeEndMark(name, correlationId);
13
13
  }
14
+ BrowserPerformanceMeasurement.makeMeasureName = function (name, correlationId) {
15
+ return "msal.measure." + name + "." + correlationId;
16
+ };
17
+ BrowserPerformanceMeasurement.makeStartMark = function (name, correlationId) {
18
+ return "msal.start." + name + "." + correlationId;
19
+ };
20
+ BrowserPerformanceMeasurement.makeEndMark = function (name, correlationId) {
21
+ return "msal.end." + name + "." + correlationId;
22
+ };
14
23
  BrowserPerformanceMeasurement.supportsBrowserPerformance = function () {
15
24
  return typeof window !== "undefined" &&
16
25
  typeof window.performance !== "undefined" &&
@@ -20,6 +29,29 @@ var BrowserPerformanceMeasurement = /** @class */ (function () {
20
29
  typeof window.performance.clearMeasures === "function" &&
21
30
  typeof window.performance.getEntriesByName === "function";
22
31
  };
32
+ /**
33
+ * Flush browser marks and measurements.
34
+ * @param {string} correlationId
35
+ * @param {SubMeasurement} measurements
36
+ */
37
+ BrowserPerformanceMeasurement.flushMeasurements = function (correlationId, measurements) {
38
+ if (BrowserPerformanceMeasurement.supportsBrowserPerformance()) {
39
+ try {
40
+ measurements.forEach(function (measurement) {
41
+ var measureName = BrowserPerformanceMeasurement.makeMeasureName(measurement.name, correlationId);
42
+ var 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
+ };
23
55
  BrowserPerformanceMeasurement.prototype.startMeasurement = function () {
24
56
  if (BrowserPerformanceMeasurement.supportsBrowserPerformance()) {
25
57
  try {
@@ -1 +1 @@
1
- {"version":3,"file":"BrowserPerformanceMeasurement.js","sources":["../../src/telemetry/BrowserPerformanceMeasurement.ts"],"sourcesContent":["/*\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Licensed under the MIT License.\n */\n\nimport { IPerformanceMeasurement } from \"@azure/msal-common\";\n\nexport class BrowserPerformanceMeasurement implements IPerformanceMeasurement {\n private measureName: string;\n private correlationId: string;\n private startMark: string;\n private endMark: string;\n\n constructor(name: string, correlationId: string) {\n this.correlationId = correlationId;\n this.measureName = `msal.measure.${name}.${this.correlationId}`;\n this.startMark = `msal.start.${name}.${this.correlationId}`;\n this.endMark = `msal.end.${name}.${this.correlationId}`;\n }\n\n static supportsBrowserPerformance(): boolean {\n return typeof window !== \"undefined\" &&\n typeof window.performance !== \"undefined\" &&\n typeof window.performance.mark === \"function\" && \n typeof window.performance.measure === \"function\" &&\n typeof window.performance.clearMarks === \"function\" &&\n typeof window.performance.clearMeasures === \"function\" &&\n typeof window.performance.getEntriesByName === \"function\";\n }\n\n startMeasurement(): void {\n if (BrowserPerformanceMeasurement.supportsBrowserPerformance()) {\n try {\n window.performance.mark(this.startMark);\n } catch (e) {\n // Silently catch\n }\n }\n }\n\n endMeasurement():void {\n if (BrowserPerformanceMeasurement.supportsBrowserPerformance()) {\n try {\n window.performance.mark(this.endMark);\n window.performance.measure(this.measureName, this.startMark, this.endMark);\n } catch (e) {\n // Silently catch\n }\n }\n }\n\n flushMeasurement(): number | null {\n if (BrowserPerformanceMeasurement.supportsBrowserPerformance()) {\n try {\n const entriesForMeasurement = window.performance.getEntriesByName(this.measureName, \"measure\");\n if (entriesForMeasurement.length > 0) {\n const durationMs = entriesForMeasurement[0].duration;\n window.performance.clearMeasures(this.measureName);\n window.performance.clearMarks(this.startMark);\n window.performance.clearMarks(this.endMark);\n return durationMs;\n }\n } catch (e) {\n // Silently catch and return null\n }\n }\n return null;\n }\n}\n"],"names":[],"mappings":";;AAAA;;;;;IAaI,uCAAY,IAAY,EAAE,aAAqB;QAC3C,IAAI,CAAC,aAAa,GAAG,aAAa,CAAC;QACnC,IAAI,CAAC,WAAW,GAAG,kBAAgB,IAAI,SAAI,IAAI,CAAC,aAAe,CAAC;QAChE,IAAI,CAAC,SAAS,GAAG,gBAAc,IAAI,SAAI,IAAI,CAAC,aAAe,CAAC;QAC5D,IAAI,CAAC,OAAO,GAAG,cAAY,IAAI,SAAI,IAAI,CAAC,aAAe,CAAC;KAC3D;IAEM,wDAA0B,GAAjC;QACI,OAAO,OAAO,MAAM,KAAK,WAAW;YAChC,OAAO,MAAM,CAAC,WAAW,KAAK,WAAW;YACzC,OAAO,MAAM,CAAC,WAAW,CAAC,IAAI,KAAK,UAAU;YAC7C,OAAO,MAAM,CAAC,WAAW,CAAC,OAAO,KAAK,UAAU;YAChD,OAAO,MAAM,CAAC,WAAW,CAAC,UAAU,KAAK,UAAU;YACnD,OAAO,MAAM,CAAC,WAAW,CAAC,aAAa,KAAK,UAAU;YACtD,OAAO,MAAM,CAAC,WAAW,CAAC,gBAAgB,KAAK,UAAU,CAAC;KACjE;IAED,wDAAgB,GAAhB;QACI,IAAI,6BAA6B,CAAC,0BAA0B,EAAE,EAAE;YAC5D,IAAI;gBACA,MAAM,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;aAC3C;YAAC,OAAO,CAAC,EAAE;;aAEX;SACJ;KACJ;IAED,sDAAc,GAAd;QACI,IAAI,6BAA6B,CAAC,0BAA0B,EAAE,EAAE;YAC5D,IAAI;gBACA,MAAM,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;gBACtC,MAAM,CAAC,WAAW,CAAC,OAAO,CAAC,IAAI,CAAC,WAAW,EAAE,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC;aAC9E;YAAC,OAAO,CAAC,EAAE;;aAEX;SACJ;KACJ;IAED,wDAAgB,GAAhB;QACI,IAAI,6BAA6B,CAAC,0BAA0B,EAAE,EAAE;YAC5D,IAAI;gBACA,IAAM,qBAAqB,GAAG,MAAM,CAAC,WAAW,CAAC,gBAAgB,CAAC,IAAI,CAAC,WAAW,EAAE,SAAS,CAAC,CAAC;gBAC/F,IAAI,qBAAqB,CAAC,MAAM,GAAG,CAAC,EAAE;oBAClC,IAAM,UAAU,GAAG,qBAAqB,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC;oBACrD,MAAM,CAAC,WAAW,CAAC,aAAa,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;oBACnD,MAAM,CAAC,WAAW,CAAC,UAAU,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;oBAC9C,MAAM,CAAC,WAAW,CAAC,UAAU,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;oBAC5C,OAAO,UAAU,CAAC;iBACrB;aACJ;YAAC,OAAO,CAAC,EAAE;;aAEX;SACJ;QACD,OAAO,IAAI,CAAC;KACf;IACL,oCAAC;AAAD,CAAC;;;;"}
1
+ {"version":3,"file":"BrowserPerformanceMeasurement.js","sources":["../../src/telemetry/BrowserPerformanceMeasurement.ts"],"sourcesContent":["/*\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Licensed under the MIT License.\n */\n\nimport { IPerformanceMeasurement, SubMeasurement } from \"@azure/msal-common\";\n\nexport class BrowserPerformanceMeasurement implements IPerformanceMeasurement {\n private readonly measureName: string;\n private readonly correlationId: string;\n private readonly startMark: string;\n private readonly endMark: string;\n\n constructor(name: string, correlationId: string) {\n this.correlationId = correlationId;\n this.measureName = BrowserPerformanceMeasurement.makeMeasureName(name, correlationId);\n this.startMark = BrowserPerformanceMeasurement.makeStartMark(name, correlationId);\n this.endMark = BrowserPerformanceMeasurement.makeEndMark(name, correlationId);\n }\n\n private static makeMeasureName(name: string, correlationId: string) {\n return `msal.measure.${name}.${correlationId}`;\n }\n\n private static makeStartMark(name: string, correlationId: string) {\n return `msal.start.${name}.${correlationId}`;\n }\n\n private static makeEndMark(name: string, correlationId: string) {\n return `msal.end.${name}.${correlationId}`;\n }\n\n static supportsBrowserPerformance(): boolean {\n return typeof window !== \"undefined\" &&\n typeof window.performance !== \"undefined\" &&\n typeof window.performance.mark === \"function\" &&\n typeof window.performance.measure === \"function\" &&\n typeof window.performance.clearMarks === \"function\" &&\n typeof window.performance.clearMeasures === \"function\" &&\n typeof window.performance.getEntriesByName === \"function\";\n }\n\n /**\n * Flush browser marks and measurements.\n * @param {string} correlationId\n * @param {SubMeasurement} measurements\n */\n public static flushMeasurements(correlationId: string, measurements: SubMeasurement[]): void {\n if (BrowserPerformanceMeasurement.supportsBrowserPerformance()) {\n try {\n measurements.forEach((measurement) => {\n const measureName = BrowserPerformanceMeasurement.makeMeasureName(measurement.name, correlationId);\n const entriesForMeasurement = window.performance.getEntriesByName(measureName, \"measure\");\n if (entriesForMeasurement.length > 0) {\n window.performance.clearMeasures(measureName);\n window.performance.clearMarks(BrowserPerformanceMeasurement.makeStartMark(measureName, correlationId));\n window.performance.clearMarks(BrowserPerformanceMeasurement.makeEndMark(measureName, correlationId));\n }\n });\n } catch (e) {\n // Silently catch and return null\n }\n }\n }\n\n startMeasurement(): void {\n if (BrowserPerformanceMeasurement.supportsBrowserPerformance()) {\n try {\n window.performance.mark(this.startMark);\n } catch (e) {\n // Silently catch\n }\n }\n }\n\n endMeasurement():void {\n if (BrowserPerformanceMeasurement.supportsBrowserPerformance()) {\n try {\n window.performance.mark(this.endMark);\n window.performance.measure(this.measureName, this.startMark, this.endMark);\n } catch (e) {\n // Silently catch\n }\n }\n }\n\n flushMeasurement(): number | null {\n if (BrowserPerformanceMeasurement.supportsBrowserPerformance()) {\n try {\n const entriesForMeasurement = window.performance.getEntriesByName(this.measureName, \"measure\");\n if (entriesForMeasurement.length > 0) {\n const durationMs = entriesForMeasurement[0].duration;\n window.performance.clearMeasures(this.measureName);\n window.performance.clearMarks(this.startMark);\n window.performance.clearMarks(this.endMark);\n return durationMs;\n }\n } catch (e) {\n // Silently catch and return null\n }\n }\n return null;\n }\n}\n"],"names":[],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- /*! @azure/msal-browser v2.33.0 2023-02-06 */
1
+ /*! @azure/msal-browser v2.34.0 2023-03-07 */
2
2
  'use strict';
3
3
  import { OIDC_DEFAULT_SCOPES } from '@azure/msal-common';
4
4
 
@@ -1,4 +1,4 @@
1
- /*! @azure/msal-browser v2.33.0 2023-02-06 */
1
+ /*! @azure/msal-browser v2.34.0 2023-03-07 */
2
2
  'use strict';
3
3
  import { StringUtils, ProtocolUtils, ClientAuthError, UrlString } from '@azure/msal-common';
4
4
 
@@ -1,4 +1,4 @@
1
- /*! @azure/msal-browser v2.33.0 2023-02-06 */
1
+ /*! @azure/msal-browser v2.34.0 2023-03-07 */
2
2
  'use strict';
3
3
  import { Constants } from '@azure/msal-common';
4
4
 
@@ -1,4 +1,4 @@
1
- /*! @azure/msal-browser v2.33.0 2023-02-06 */
1
+ /*! @azure/msal-browser v2.34.0 2023-03-07 */
2
2
  'use strict';
3
3
  import { Constants, UrlString } from '@azure/msal-common';
4
4
  import { FetchClient } from '../network/FetchClient.js';
@@ -1,4 +1,4 @@
1
- /*! @azure/msal-browser v2.33.0 2023-02-06 */
1
+ /*! @azure/msal-browser v2.34.0 2023-03-07 */
2
2
  'use strict';
3
3
  /*
4
4
  * Copyright (c) Microsoft Corporation. All rights reserved.