{"version":3,"sources":["node_modules/@azure/msal-browser/dist/telemetry/BrowserPerformanceMeasurement.mjs"],"sourcesContent":["/*! @azure/msal-browser v3.7.0 2024-01-09 */\n'use strict';\n\n/*\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Licensed under the MIT License.\n */\nclass BrowserPerformanceMeasurement {\n constructor(name, correlationId) {\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 static makeMeasureName(name, correlationId) {\n return `msal.measure.${name}.${correlationId}`;\n }\n static makeStartMark(name, correlationId) {\n return `msal.start.${name}.${correlationId}`;\n }\n static makeEndMark(name, correlationId) {\n return `msal.end.${name}.${correlationId}`;\n }\n static supportsBrowserPerformance() {\n return typeof window !== \"undefined\" && typeof window.performance !== \"undefined\" && typeof window.performance.mark === \"function\" && typeof window.performance.measure === \"function\" && typeof window.performance.clearMarks === \"function\" && typeof window.performance.clearMeasures === \"function\" && typeof window.performance.getEntriesByName === \"function\";\n }\n /**\n * Flush browser marks and measurements.\n * @param {string} correlationId\n * @param {SubMeasurement} measurements\n */\n static flushMeasurements(correlationId, measurements) {\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 startMeasurement() {\n if (BrowserPerformanceMeasurement.supportsBrowserPerformance()) {\n try {\n window.performance.mark(this.startMark);\n } catch (e) {\n // Silently catch\n }\n }\n }\n endMeasurement() {\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 flushMeasurement() {\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}\nexport { BrowserPerformanceMeasurement };\n"],"mappings":"AAOA,IAAMA,EAAN,MAAMC,CAA8B,CAClC,YAAYC,EAAMC,EAAe,CAC/B,KAAK,cAAgBA,EACrB,KAAK,YAAcF,EAA8B,gBAAgBC,EAAMC,CAAa,EACpF,KAAK,UAAYF,EAA8B,cAAcC,EAAMC,CAAa,EAChF,KAAK,QAAUF,EAA8B,YAAYC,EAAMC,CAAa,CAC9E,CACA,OAAO,gBAAgBD,EAAMC,EAAe,CAC1C,MAAO,gBAAgBD,CAAI,IAAIC,CAAa,EAC9C,CACA,OAAO,cAAcD,EAAMC,EAAe,CACxC,MAAO,cAAcD,CAAI,IAAIC,CAAa,EAC5C,CACA,OAAO,YAAYD,EAAMC,EAAe,CACtC,MAAO,YAAYD,CAAI,IAAIC,CAAa,EAC1C,CACA,OAAO,4BAA6B,CAClC,OAAO,OAAO,OAAW,KAAe,OAAO,OAAO,YAAgB,KAAe,OAAO,OAAO,YAAY,MAAS,YAAc,OAAO,OAAO,YAAY,SAAY,YAAc,OAAO,OAAO,YAAY,YAAe,YAAc,OAAO,OAAO,YAAY,eAAkB,YAAc,OAAO,OAAO,YAAY,kBAAqB,UAC5V,CAMA,OAAO,kBAAkBA,EAAeC,EAAc,CACpD,GAAIH,EAA8B,2BAA2B,EAC3D,GAAI,CACFG,EAAa,QAAQC,GAAe,CAClC,IAAMC,EAAcL,EAA8B,gBAAgBI,EAAY,KAAMF,CAAa,EACnE,OAAO,YAAY,iBAAiBG,EAAa,SAAS,EAC9D,OAAS,IACjC,OAAO,YAAY,cAAcA,CAAW,EAC5C,OAAO,YAAY,WAAWL,EAA8B,cAAcK,EAAaH,CAAa,CAAC,EACrG,OAAO,YAAY,WAAWF,EAA8B,YAAYK,EAAaH,CAAa,CAAC,EAEvG,CAAC,CACH,MAAY,CAEZ,CAEJ,CACA,kBAAmB,CACjB,GAAIF,EAA8B,2BAA2B,EAC3D,GAAI,CACF,OAAO,YAAY,KAAK,KAAK,SAAS,CACxC,MAAY,CAEZ,CAEJ,CACA,gBAAiB,CACf,GAAIA,EAA8B,2BAA2B,EAC3D,GAAI,CACF,OAAO,YAAY,KAAK,KAAK,OAAO,EACpC,OAAO,YAAY,QAAQ,KAAK,YAAa,KAAK,UAAW,KAAK,OAAO,CAC3E,MAAY,CAEZ,CAEJ,CACA,kBAAmB,CACjB,GAAIA,EAA8B,2BAA2B,EAC3D,GAAI,CACF,IAAMM,EAAwB,OAAO,YAAY,iBAAiB,KAAK,YAAa,SAAS,EAC7F,GAAIA,EAAsB,OAAS,EAAG,CACpC,IAAMC,EAAaD,EAAsB,CAAC,EAAE,SAC5C,cAAO,YAAY,cAAc,KAAK,WAAW,EACjD,OAAO,YAAY,WAAW,KAAK,SAAS,EAC5C,OAAO,YAAY,WAAW,KAAK,OAAO,EACnCC,CACT,CACF,MAAY,CAEZ,CAEF,OAAO,IACT,CACF","names":["BrowserPerformanceMeasurement","_BrowserPerformanceMeasurement","name","correlationId","measurements","measurement","measureName","entriesForMeasurement","durationMs"],"x_google_ignoreList":[0]}