@microsoft/applicationinsights-core-js 3.1.1 → 3.1.2

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 (102) hide show
  1. package/browser/es5/applicationinsights-core-js.cjs.js +990 -972
  2. package/browser/es5/applicationinsights-core-js.cjs.js.map +1 -1
  3. package/browser/es5/applicationinsights-core-js.cjs.min.js +2 -2
  4. package/browser/es5/applicationinsights-core-js.cjs.min.js.map +1 -1
  5. package/browser/es5/applicationinsights-core-js.gbl.js +992 -974
  6. package/browser/es5/applicationinsights-core-js.gbl.js.map +1 -1
  7. package/browser/es5/applicationinsights-core-js.gbl.min.js +2 -2
  8. package/browser/es5/applicationinsights-core-js.gbl.min.js.map +1 -1
  9. package/browser/es5/applicationinsights-core-js.integrity.json +25 -25
  10. package/browser/es5/applicationinsights-core-js.js +992 -974
  11. package/browser/es5/applicationinsights-core-js.js.map +1 -1
  12. package/browser/es5/applicationinsights-core-js.min.js +2 -2
  13. package/browser/es5/applicationinsights-core-js.min.js.map +1 -1
  14. package/dist/es5/applicationinsights-core-js.js +990 -972
  15. package/dist/es5/applicationinsights-core-js.js.map +1 -1
  16. package/dist/es5/applicationinsights-core-js.min.js +2 -2
  17. package/dist/es5/applicationinsights-core-js.min.js.map +1 -1
  18. package/dist-es5/Config/ConfigDefaultHelpers.js +1 -1
  19. package/dist-es5/Config/ConfigDefaults.js +1 -1
  20. package/dist-es5/Config/DynamicConfig.js +2 -1
  21. package/dist-es5/Config/DynamicConfig.js.map +1 -1
  22. package/dist-es5/Config/DynamicProperty.js +1 -1
  23. package/dist-es5/Config/DynamicState.js +1 -1
  24. package/dist-es5/Config/DynamicSupport.js +1 -1
  25. package/dist-es5/Config/IConfigDefaults.js +1 -1
  26. package/dist-es5/Config/IDynamicConfigHandler.js +1 -1
  27. package/dist-es5/Config/IDynamicPropertyHandler.js +1 -1
  28. package/dist-es5/Config/IDynamicWatcher.js +1 -1
  29. package/dist-es5/Config/_IDynamicConfigHandlerState.js +1 -1
  30. package/dist-es5/JavaScriptSDK/AggregationError.js +1 -1
  31. package/dist-es5/JavaScriptSDK/AppInsightsCore.js +59 -44
  32. package/dist-es5/JavaScriptSDK/AppInsightsCore.js.map +1 -1
  33. package/dist-es5/JavaScriptSDK/AsyncUtils.js +1 -1
  34. package/dist-es5/JavaScriptSDK/BaseTelemetryPlugin.js +3 -3
  35. package/dist-es5/JavaScriptSDK/BaseTelemetryPlugin.js.map +1 -1
  36. package/dist-es5/JavaScriptSDK/Constants.js +1 -1
  37. package/dist-es5/JavaScriptSDK/CookieMgr.js +1 -1
  38. package/dist-es5/JavaScriptSDK/CoreUtils.js +1 -1
  39. package/dist-es5/JavaScriptSDK/DataCacheHelper.js +1 -1
  40. package/dist-es5/JavaScriptSDK/DbgExtensionUtils.js +1 -1
  41. package/dist-es5/JavaScriptSDK/DiagnosticLogger.js +1 -1
  42. package/dist-es5/JavaScriptSDK/EnvUtils.js +1 -1
  43. package/dist-es5/JavaScriptSDK/EventHelpers.js +1 -1
  44. package/dist-es5/JavaScriptSDK/HelperFuncs.js +2 -25
  45. package/dist-es5/JavaScriptSDK/HelperFuncs.js.map +1 -1
  46. package/dist-es5/JavaScriptSDK/InstrumentHooks.js +1 -1
  47. package/dist-es5/JavaScriptSDK/InternalConstants.js +1 -1
  48. package/dist-es5/JavaScriptSDK/NotificationManager.js +41 -21
  49. package/dist-es5/JavaScriptSDK/NotificationManager.js.map +1 -1
  50. package/dist-es5/JavaScriptSDK/PerfManager.js +1 -1
  51. package/dist-es5/JavaScriptSDK/ProcessTelemetryContext.js +1 -1
  52. package/dist-es5/JavaScriptSDK/RandomHelper.js +1 -1
  53. package/dist-es5/JavaScriptSDK/ResponseHelpers.js +32 -0
  54. package/dist-es5/JavaScriptSDK/ResponseHelpers.js.map +1 -0
  55. package/dist-es5/JavaScriptSDK/SenderPostManager.js +1 -1
  56. package/dist-es5/JavaScriptSDK/TelemetryHelpers.js +1 -1
  57. package/dist-es5/JavaScriptSDK/TelemetryInitializerPlugin.js +1 -1
  58. package/dist-es5/JavaScriptSDK/UnloadHandlerContainer.js +1 -1
  59. package/dist-es5/JavaScriptSDK/UnloadHookContainer.js +20 -1
  60. package/dist-es5/JavaScriptSDK/UnloadHookContainer.js.map +1 -1
  61. package/dist-es5/JavaScriptSDK/W3cTraceParent.js +1 -1
  62. package/dist-es5/JavaScriptSDK.Enums/EnumHelperFuncs.js +1 -1
  63. package/dist-es5/JavaScriptSDK.Enums/EventsDiscardedReason.js +1 -1
  64. package/dist-es5/JavaScriptSDK.Enums/FeatureOptInEnums.js +1 -1
  65. package/dist-es5/JavaScriptSDK.Enums/LoggingEnums.js +1 -1
  66. package/dist-es5/JavaScriptSDK.Enums/SendRequestReason.js +1 -1
  67. package/dist-es5/JavaScriptSDK.Enums/TelemetryUnloadReason.js +1 -1
  68. package/dist-es5/JavaScriptSDK.Enums/TelemetryUpdateReason.js +1 -1
  69. package/dist-es5/JavaScriptSDK.Interfaces/IAppInsightsCore.js +1 -1
  70. package/dist-es5/JavaScriptSDK.Interfaces/IChannelControls.js +1 -1
  71. package/dist-es5/JavaScriptSDK.Interfaces/IChannelControlsHost.js +1 -1
  72. package/dist-es5/JavaScriptSDK.Interfaces/IConfiguration.js +1 -1
  73. package/dist-es5/JavaScriptSDK.Interfaces/ICookieMgr.js +1 -1
  74. package/dist-es5/JavaScriptSDK.Interfaces/IDbgExtension.js +1 -1
  75. package/dist-es5/JavaScriptSDK.Interfaces/IDiagnosticLogger.js +1 -1
  76. package/dist-es5/JavaScriptSDK.Interfaces/IDistributedTraceContext.js +1 -1
  77. package/dist-es5/JavaScriptSDK.Interfaces/IFeatureOptIn.js +1 -1
  78. package/dist-es5/JavaScriptSDK.Interfaces/IInstrumentHooks.js +1 -1
  79. package/dist-es5/JavaScriptSDK.Interfaces/INotificationListener.js +1 -1
  80. package/dist-es5/JavaScriptSDK.Interfaces/INotificationManager.js +1 -1
  81. package/dist-es5/JavaScriptSDK.Interfaces/IPerfEvent.js +1 -1
  82. package/dist-es5/JavaScriptSDK.Interfaces/IPerfManager.js +1 -1
  83. package/dist-es5/JavaScriptSDK.Interfaces/IProcessTelemetryContext.js +1 -1
  84. package/dist-es5/JavaScriptSDK.Interfaces/ISenderPostManager.js +1 -1
  85. package/dist-es5/JavaScriptSDK.Interfaces/ITelemetryInitializers.js +1 -1
  86. package/dist-es5/JavaScriptSDK.Interfaces/ITelemetryItem.js +1 -1
  87. package/dist-es5/JavaScriptSDK.Interfaces/ITelemetryPlugin.js +1 -1
  88. package/dist-es5/JavaScriptSDK.Interfaces/ITelemetryPluginChain.js +1 -1
  89. package/dist-es5/JavaScriptSDK.Interfaces/ITelemetryUnloadState.js +1 -1
  90. package/dist-es5/JavaScriptSDK.Interfaces/ITelemetryUpdateState.js +1 -1
  91. package/dist-es5/JavaScriptSDK.Interfaces/ITraceParent.js +1 -1
  92. package/dist-es5/JavaScriptSDK.Interfaces/IUnloadHook.js +1 -1
  93. package/dist-es5/JavaScriptSDK.Interfaces/IUnloadableComponent.js +1 -1
  94. package/dist-es5/JavaScriptSDK.Interfaces/IXDomainRequest.js +1 -1
  95. package/dist-es5/JavaScriptSDK.Interfaces/IXHROverride.js +1 -1
  96. package/dist-es5/__DynamicConstants.js +11 -11
  97. package/dist-es5/__DynamicConstants.js.map +1 -1
  98. package/dist-es5/applicationinsights-core-js.js +4 -3
  99. package/dist-es5/applicationinsights-core-js.js.map +1 -1
  100. package/package.json +2 -2
  101. package/types/applicationinsights-core-js.d.ts +10 -1
  102. package/types/applicationinsights-core-js.namespaced.d.ts +14 -5
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * Application Insights JavaScript SDK - Core, 3.1.1
2
+ * Application Insights JavaScript SDK - Core, 3.1.2
3
3
  * Copyright (c) Microsoft and contributors. All rights reserved.
4
4
  */
5
5
  (function (global, factory) {
@@ -13,23 +13,16 @@
13
13
  var UNDEF_VALUE = undefined;
14
14
  var NULL_VALUE = null;
15
15
  var EMPTY = "";
16
- var BOOLEAN = "boolean";
17
16
  var FUNCTION = "function";
18
- var NUMBER = "number";
19
17
  var OBJECT = "object";
20
18
  var PROTOTYPE = "prototype";
21
19
  var __PROTO__ = "__proto__";
22
- var STRING = "string";
23
20
  var UNDEFINED = "undefined";
24
21
  var CONSTRUCTOR = "constructor";
25
22
  var SYMBOL = "Symbol";
26
23
  var POLYFILL_TAG = "_polyfill";
27
- var INDEX_OF = "indexOf";
28
24
  var LENGTH = "length";
29
- var DONE = "done";
30
- var VALUE = "value";
31
25
  var NAME = "name";
32
- var SLICE = "slice";
33
26
  var CALL = "call";
34
27
  var TO_STRING = "toString";
35
28
  var ObjClass$1 = Object;
@@ -39,6 +32,7 @@
39
32
  var MathCls = Math;
40
33
  var ArrCls = Array;
41
34
  var ArrProto = ArrCls[PROTOTYPE];
35
+ var ArrSlice = ArrProto["slice"];
42
36
 
43
37
  function safe(func, argArray) {
44
38
  try {
@@ -51,12 +45,13 @@
51
45
  }
52
46
  }
53
47
 
48
+ /*#__NO_SIDE_EFFECTS__*/
54
49
  function safeGet(cb, defValue) {
55
50
  var result = safe(cb);
56
51
  return result.e ? defValue : result.v;
57
52
  }
58
53
 
59
- var PRIMITIVE_TYPES = [STRING, NUMBER, BOOLEAN, UNDEFINED, "symbol", "bigint"];
54
+ var _primitiveTypes;
60
55
  /*#__NO_SIDE_EFFECTS__*/
61
56
  function _createIs(theType) {
62
57
  return function (value) {
@@ -96,9 +91,10 @@
96
91
  }
97
92
  /*#__NO_SIDE_EFFECTS__*/
98
93
  function isPrimitiveType(theType) {
99
- return theType !== OBJECT && PRIMITIVE_TYPES.indexOf(theType) !== -1;
94
+ !_primitiveTypes && (_primitiveTypes = ["string", "number", "boolean", UNDEFINED, "symbol", "bigint"]);
95
+ return theType !== OBJECT && _primitiveTypes.indexOf(theType) !== -1;
100
96
  }
101
- var isString = ( /*#__PURE__*/_createIs(STRING));
97
+ var isString = ( /*#__PURE__*/_createIs("string"));
102
98
  var isFunction = ( /*#__PURE__*/_createIs(FUNCTION));
103
99
  /*#__NO_SIDE_EFFECTS__*/
104
100
  function isObject(value) {
@@ -109,8 +105,8 @@
109
105
  }
110
106
  var isArray = ArrCls.isArray;
111
107
  var isDate = ( /*#__PURE__*/_createObjIs("Date"));
112
- var isNumber = ( /*#__PURE__*/_createIs(NUMBER));
113
- var isBoolean = ( /*#__PURE__*/_createIs(BOOLEAN));
108
+ var isNumber = ( /*#__PURE__*/_createIs("number"));
109
+ var isBoolean = ( /*#__PURE__*/_createIs("boolean"));
114
110
  var isError = ( /*#__PURE__*/_createObjIs("Error"));
115
111
  /*#__NO_SIDE_EFFECTS__*/
116
112
  function isPromiseLike(value) {
@@ -233,6 +229,7 @@
233
229
 
234
230
  var GLOBAL_CONFIG_KEY = "__tsUtils$gblCfg";
235
231
  var _globalCfg;
232
+ /*#__NO_SIDE_EFFECTS__*/
236
233
  function _getGlobalValue() {
237
234
  var result;
238
235
  if (typeof globalThis !== UNDEFINED) {
@@ -267,7 +264,7 @@
267
264
  object = { stack: asString(object.stack), message: asString(object.message), name: asString(object.name) };
268
265
  }
269
266
  try {
270
- propertyValueDump = JSON.stringify(object, NULL_VALUE, format ? ((typeof format === NUMBER) ? format : 4) : UNDEF_VALUE);
267
+ propertyValueDump = JSON.stringify(object, NULL_VALUE, format ? ((typeof format === "number") ? format : 4) : UNDEF_VALUE);
271
268
  propertyValueDump = (propertyValueDump && propertyValueDump.replace(/"(\w+)"\s*:\s{0,1}/g, "$1: ")) || asString(object);
272
269
  }
273
270
  catch (e) {
@@ -276,18 +273,15 @@
276
273
  return objType + ": " + propertyValueDump;
277
274
  }
278
275
 
279
- var _slice;
280
- var _unwrapInstFunction = _unwrapFunctionWithPoly;
281
276
  var _unwrapFunction = _unwrapFunctionWithPoly;
282
277
  /*#__NO_SIDE_EFFECTS__*/
283
278
  function _unwrapFunctionWithPoly(funcName, clsProto, polyFunc) {
284
- _slice = _slice || ArrProto[SLICE];
285
279
  var clsFn = clsProto && clsProto[funcName];
286
280
  return function (thisArg) {
287
281
  var theFunc = (thisArg && thisArg[funcName]) || clsFn;
288
282
  if (theFunc || polyFunc) {
289
283
  var theArgs = arguments;
290
- return (theFunc || polyFunc).apply(thisArg, theFunc ? _slice[CALL](theArgs, 1) : theArgs);
284
+ return (theFunc || polyFunc).apply(thisArg, theFunc ? ArrSlice[CALL](theArgs, 1) : theArgs);
291
285
  }
292
286
  throwTypeError("\"" + asString(funcName) + "\" not defined for " + dumpObj(thisArg));
293
287
  };
@@ -301,7 +295,7 @@
301
295
 
302
296
  var mathMax = MathCls.max;
303
297
 
304
- var strSlice = ( /*#__PURE__*/_unwrapFunction(SLICE, StrProto));
298
+ var strSlice = ( /*#__PURE__*/_unwrapFunction("slice", StrProto));
305
299
 
306
300
  var strSubstring = ( /*#__PURE__*/_unwrapFunction("substring", StrProto));
307
301
  var strSubstr = ( /*#__PURE__*/_unwrapFunctionWithPoly("substr", StrProto, polyStrSubstr));
@@ -373,7 +367,7 @@
373
367
  var propMap = {
374
368
  e: "enumerable",
375
369
  c: "configurable",
376
- v: VALUE,
370
+ v: "value",
377
371
  w: "writable",
378
372
  g: "get",
379
373
  s: "set"
@@ -419,6 +413,7 @@
419
413
  function _initTestHooks() {
420
414
  _globalLazyTestHooks = _getGlobalConfig();
421
415
  }
416
+ /*#__NO_SIDE_EFFECTS__*/
422
417
  function getLazy(cb) {
423
418
  var lazyValue = {};
424
419
  !_globalLazyTestHooks && _initTestHooks();
@@ -456,11 +451,14 @@
456
451
 
457
452
  var WINDOW = "window";
458
453
  var _cachedGlobal;
459
- var _cachedWindow;
460
- var _cachedDocument;
461
- var _cachedNavigator;
462
- var _cachedHistory;
463
- var _isNode;
454
+ function _getGlobalInstFn(getFn, theArgs) {
455
+ var cachedValue;
456
+ return function () {
457
+ !_globalLazyTestHooks && _initTestHooks();
458
+ (!cachedValue || _globalLazyTestHooks.lzy) && (cachedValue = createCachedValue(safe(getFn, theArgs).v));
459
+ return cachedValue.v;
460
+ };
461
+ }
464
462
  /*#__NO_SIDE_EFFECTS__*/
465
463
  function lazySafeGetInst(name) {
466
464
  return getLazy(function () { return safe((getInst), [name]).v || UNDEF_VALUE; });
@@ -477,8 +475,8 @@
477
475
  if (gbl && gbl[name]) {
478
476
  return gbl[name];
479
477
  }
480
- if (name === WINDOW && _cachedWindow) {
481
- return _cachedWindow.v;
478
+ if (name === WINDOW) {
479
+ return getWindow();
482
480
  }
483
481
  return NULL_VALUE;
484
482
  }
@@ -486,46 +484,25 @@
486
484
  function hasDocument() {
487
485
  return !!getDocument();
488
486
  }
489
- /*#__NO_SIDE_EFFECTS__*/
490
- function getDocument() {
491
- !_globalLazyTestHooks && _initTestHooks();
492
- (!_cachedDocument || _globalLazyTestHooks.lzy) && (_cachedDocument = createCachedValue(safe((getInst), ["document"]).v));
493
- return _cachedDocument.v;
494
- }
487
+ var getDocument = ( /*#__PURE__*/_getGlobalInstFn(getInst, ["document"]));
495
488
  /*#__NO_SIDE_EFFECTS__*/
496
489
  function hasWindow() {
497
490
  return !!getWindow();
498
491
  }
499
- /*#__NO_SIDE_EFFECTS__*/
500
- function getWindow() {
501
- !_globalLazyTestHooks && _initTestHooks();
502
- (!_cachedWindow || _globalLazyTestHooks.lzy) && (_cachedWindow = createCachedValue(safe((getInst), [WINDOW]).v));
503
- return _cachedWindow.v;
504
- }
492
+ var getWindow = ( /*#__PURE__*/_getGlobalInstFn(getInst, [WINDOW]));
505
493
  /*#__NO_SIDE_EFFECTS__*/
506
494
  function hasNavigator() {
507
495
  return !!getNavigator();
508
496
  }
509
- /*#__NO_SIDE_EFFECTS__*/
510
- function getNavigator() {
511
- !_globalLazyTestHooks && _initTestHooks();
512
- (!_cachedNavigator || _globalLazyTestHooks.lzy) && (_cachedNavigator = createCachedValue(safe((getInst), ["navigator"]).v));
513
- return _cachedNavigator.v;
514
- }
497
+ var getNavigator = ( /*#__PURE__*/_getGlobalInstFn(getInst, ["navigator"]));
515
498
  /*#__NO_SIDE_EFFECTS__*/
516
499
  function hasHistory() {
517
500
  return !!getHistory();
518
501
  }
519
- /*#__NO_SIDE_EFFECTS__*/
520
- function getHistory() {
521
- !_globalLazyTestHooks && _initTestHooks();
522
- (!_cachedHistory || _globalLazyTestHooks.lzy) && (_cachedHistory = createCachedValue(safe((getInst), ["history"]).v));
523
- return _cachedHistory.v;
524
- }
525
- function isNode() {
526
- !_isNode && (_isNode = createCachedValue(!!safe(function () { return (process && (process.versions || {}).node); }).v));
527
- return _isNode.v;
528
- }
502
+ var getHistory = ( /*#__PURE__*/_getGlobalInstFn(getInst, ["history"]));
503
+ var isNode = ( /*#__PURE__*/_getGlobalInstFn(function () {
504
+ return !!safe(function () { return (process && (process.versions || {}).node); }).v;
505
+ }));
529
506
 
530
507
  var _symbol;
531
508
  var _symbolFor;
@@ -587,8 +564,8 @@
587
564
  var iterResult = void 0;
588
565
  try {
589
566
  var count = 0;
590
- while (!(iterResult = iter.next())[DONE]) {
591
- if (callbackfn[CALL](thisArg || iter, iterResult[VALUE], count, iter) === -1) {
567
+ while (!(iterResult = iter.next()).done) {
568
+ if (callbackfn[CALL](thisArg || iter, iterResult.value, count, iter) === -1) {
592
569
  break;
593
570
  }
594
571
  count++;
@@ -603,7 +580,7 @@
603
580
  }
604
581
  finally {
605
582
  try {
606
- if (iterResult && !iterResult[DONE]) {
583
+ if (iterResult && !iterResult.done) {
607
584
  iter.return && iter.return(iterResult);
608
585
  }
609
586
  }
@@ -617,7 +594,9 @@
617
594
  }
618
595
  }
619
596
 
620
- var fnApply = ( /*#__PURE__*/_unwrapInstFunction("apply"));
597
+ function fnApply(fn, thisArg, argArray) {
598
+ return fn.apply(thisArg, argArray);
599
+ }
621
600
 
622
601
  function arrAppend(target, elms) {
623
602
  if (!isUndefined(elms) && target) {
@@ -649,11 +628,13 @@
649
628
  }
650
629
  }
651
630
 
652
- var arrIndexOf = ( /*#__PURE__*/_unwrapFunction(INDEX_OF, ArrProto));
631
+ var arrIndexOf = ( /*#__PURE__*/_unwrapFunction("indexOf", ArrProto));
653
632
 
654
633
  var arrMap = ( /*#__PURE__*/_unwrapFunction("map", ArrProto));
655
634
 
656
- var arrSlice = ( /*#__PURE__*/_unwrapFunction(SLICE, ArrProto));
635
+ function arrSlice(theArray, start, end) {
636
+ return ((theArray && theArray["slice"]) || ArrSlice).apply(theArray, ArrSlice[CALL](arguments, 1));
637
+ }
657
638
 
658
639
  var arrReduce = ( /*#__PURE__*/_unwrapFunction("reduce", ArrProto));
659
640
 
@@ -685,6 +666,7 @@
685
666
  return fn(obj, proto);
686
667
  }
687
668
 
669
+ /*#__NO_SIDE_EFFECTS__*/
688
670
  function _createCustomError(name, d, b) {
689
671
  safe(objDefine, [d, NAME, { v: name, c: true, e: false }]);
690
672
  d = objSetPrototypeOf(d, b);
@@ -708,7 +690,7 @@
708
690
  var theArgs = arguments;
709
691
  try {
710
692
  safe(_setName, [theBaseClass, name]);
711
- var _self = fnApply(theBaseClass, _this, ArrProto[SLICE][CALL](theArgs)) || _this;
693
+ var _self = fnApply(theBaseClass, _this, ArrSlice[CALL](theArgs)) || _this;
712
694
  if (_self !== _this) {
713
695
  var orgProto = objGetPrototypeOf(_this);
714
696
  if (orgProto !== objGetPrototypeOf(_self)) {
@@ -783,16 +765,18 @@
783
765
  return result;
784
766
  }
785
767
 
786
- var _defaultDeepCopyHandler = function (details) {
768
+ /*#__NO_SIDE_EFFECTS__*/
769
+ function _defaultDeepCopyHandler(details) {
787
770
  details.value && plainObjDeepCopyHandler(details);
788
771
  return true;
789
- };
772
+ }
790
773
  var defaultDeepCopyHandlers = [
791
774
  arrayDeepCopyHandler,
792
775
  plainObjDeepCopyHandler,
793
776
  functionDeepCopyHandler,
794
777
  dateDeepCopyHandler
795
778
  ];
779
+ /*#__NO_SIDE_EFFECTS__*/
796
780
  function _getSetVisited(visitMap, source, newPath, cb) {
797
781
  var theEntry;
798
782
  arrForEach(visitMap, function (entry) {
@@ -927,7 +911,7 @@
927
911
  return target;
928
912
  }
929
913
  function deepExtend(target, obj1, obj2, obj3, obj4, obj5, obj6) {
930
- return _doExtend(objDeepCopy(target) || {}, ArrProto[SLICE][CALL](arguments));
914
+ return _doExtend(objDeepCopy(target) || {}, ArrSlice[CALL](arguments));
931
915
  }
932
916
 
933
917
  var getLength = ( /*#__PURE__*/_unwrapProp(LENGTH));
@@ -959,7 +943,7 @@
959
943
  return strSubstring(value, end - searchValue[LENGTH], end) === searchValue;
960
944
  }
961
945
 
962
- var strIndexOf = ( /*#__PURE__*/_unwrapFunction(INDEX_OF, StrProto));
946
+ var strIndexOf = ( /*#__PURE__*/_unwrapFunction("indexOf", StrProto));
963
947
 
964
948
  var strStartsWith = ( /*#__PURE__*/_unwrapFunctionWithPoly("startsWith", StrProto, polyStrStartsWith));
965
949
  /*#__NO_SIDE_EFFECTS__*/
@@ -973,55 +957,51 @@
973
957
  }
974
958
 
975
959
  var REF = "ref";
976
- var UNREF = "un" + REF;
960
+ var UNREF = "unref";
977
961
  var HAS_REF = "hasRef";
978
962
  var ENABLED = "enabled";
963
+ /*#__NO_SIDE_EFFECTS__*/
979
964
  function _createTimerHandler(startTimer, refreshFn, cancelFn) {
980
- var _a;
981
965
  var ref = true;
982
966
  var timerId = startTimer ? refreshFn(NULL_VALUE) : NULL_VALUE;
983
967
  var theTimerHandler;
984
- var _unref = function () {
968
+ function _unref() {
985
969
  ref = false;
986
970
  timerId && timerId[UNREF] && timerId[UNREF]();
987
971
  return theTimerHandler;
988
- };
989
- var _ref = function () {
990
- ref = true;
991
- timerId && timerId[REF] && timerId[REF]();
972
+ }
973
+ function _cancel() {
974
+ timerId && cancelFn(timerId);
975
+ timerId = NULL_VALUE;
976
+ }
977
+ function _refresh() {
978
+ timerId = refreshFn(timerId);
979
+ if (!ref) {
980
+ _unref();
981
+ }
992
982
  return theTimerHandler;
983
+ }
984
+ function _setEnabled(value) {
985
+ !value && timerId && _cancel();
986
+ value && !timerId && _refresh();
987
+ }
988
+ theTimerHandler = {
989
+ cancel: _cancel,
990
+ refresh: _refresh
993
991
  };
994
- var _hasRef = function () {
992
+ theTimerHandler[HAS_REF] = function () {
995
993
  if (timerId && timerId[HAS_REF]) {
996
994
  return timerId[HAS_REF]();
997
995
  }
998
996
  return ref;
999
997
  };
1000
- var _refresh = function () {
1001
- timerId = refreshFn(timerId);
1002
- if (!ref) {
1003
- _unref();
1004
- }
998
+ theTimerHandler[REF] = function () {
999
+ ref = true;
1000
+ timerId && timerId[REF] && timerId[REF]();
1005
1001
  return theTimerHandler;
1006
1002
  };
1007
- var _cancel = function () {
1008
- timerId && cancelFn(timerId);
1009
- timerId = NULL_VALUE;
1010
- };
1011
- var _setEnabled = function (value) {
1012
- !value && timerId && _cancel();
1013
- value && !timerId && _refresh();
1014
- };
1015
- theTimerHandler = (_a = {
1016
- cancel: _cancel,
1017
- refresh: _refresh
1018
- },
1019
- _a[HAS_REF] = _hasRef,
1020
- _a[REF] = _ref,
1021
- _a[UNREF] = _unref,
1022
- _a[ENABLED] = false,
1023
- _a);
1024
- objDefineProp(theTimerHandler, ENABLED, {
1003
+ theTimerHandler[UNREF] = _unref;
1004
+ theTimerHandler = objDefineProp(theTimerHandler, ENABLED, {
1025
1005
  get: function () { return !!timerId; },
1026
1006
  set: _setEnabled
1027
1007
  });
@@ -1033,7 +1013,7 @@
1033
1013
  };
1034
1014
  }
1035
1015
 
1036
- function _createTimeoutWith(self, startTimer, overrideFn, theArgs) {
1016
+ function _createTimeoutWith(startTimer, overrideFn, theArgs) {
1037
1017
  var isArr = isArray(overrideFn);
1038
1018
  var len = isArr ? overrideFn.length : 0;
1039
1019
  var setFn = (len > 0 ? overrideFn[0] : (!isArr ? overrideFn : UNDEF_VALUE)) || setTimeout;
@@ -1041,7 +1021,7 @@
1041
1021
  var timerFn = theArgs[0];
1042
1022
  theArgs[0] = function () {
1043
1023
  handler.dn();
1044
- fnApply(timerFn, self, ArrProto[SLICE][CALL](arguments));
1024
+ fnApply(timerFn, UNDEF_VALUE, ArrSlice[CALL](arguments));
1045
1025
  };
1046
1026
  var handler = _createTimerHandler(startTimer, function (timerId) {
1047
1027
  if (timerId) {
@@ -1049,19 +1029,19 @@
1049
1029
  timerId.refresh();
1050
1030
  return timerId;
1051
1031
  }
1052
- fnApply(clearFn, self, [timerId]);
1032
+ fnApply(clearFn, UNDEF_VALUE, [timerId]);
1053
1033
  }
1054
- return fnApply(setFn, self, theArgs);
1034
+ return fnApply(setFn, UNDEF_VALUE, theArgs);
1055
1035
  }, function (timerId) {
1056
- fnApply(clearFn, self, [timerId]);
1036
+ fnApply(clearFn, UNDEF_VALUE, [timerId]);
1057
1037
  });
1058
1038
  return handler.h;
1059
1039
  }
1060
1040
  function scheduleTimeout(callback, timeout) {
1061
- return _createTimeoutWith(this, true, UNDEF_VALUE, ArrProto[SLICE][CALL](arguments));
1041
+ return _createTimeoutWith(true, UNDEF_VALUE, ArrSlice[CALL](arguments));
1062
1042
  }
1063
1043
  function createTimeout(callback, timeout) {
1064
- return _createTimeoutWith(this, false, UNDEF_VALUE, ArrProto[SLICE][CALL](arguments));
1044
+ return _createTimeoutWith(false, UNDEF_VALUE, ArrSlice[CALL](arguments));
1065
1045
  }
1066
1046
 
1067
1047
  var createEnumStyle = createEnum;
@@ -1099,16 +1079,16 @@
1099
1079
  var _DYN_CANCEL = "cancel";
1100
1080
  var _DYN_INITIALIZE = "initialize";
1101
1081
  var _DYN_IDENTIFIER = "identifier";
1082
+ var _DYN_REMOVE_NOTIFICATION_0 = "removeNotificationListener";
1083
+ var _DYN_ADD_NOTIFICATION_LIS1 = "addNotificationListener";
1102
1084
  var _DYN_IS_INITIALIZED = "isInitialized";
1085
+ var _DYN_GET_NOTIFY_MGR = "getNotifyMgr";
1103
1086
  var _DYN_GET_PLUGIN = "getPlugin";
1104
1087
  var _DYN_POLL_INTERNAL_LOGS = "pollInternalLogs";
1105
1088
  var _DYN_NAME = "name";
1106
1089
  var _DYN_TIME = "time";
1107
1090
  var _DYN_PROCESS_NEXT = "processNext";
1108
- var _DYN_GET_PROCESS_TEL_CONT0 = "getProcessTelContext";
1109
- var _DYN_GET_NOTIFY_MGR = "getNotifyMgr";
1110
- var _DYN_ADD_NOTIFICATION_LIS1 = "addNotificationListener";
1111
- var _DYN_REMOVE_NOTIFICATION_2 = "removeNotificationListener";
1091
+ var _DYN_GET_PROCESS_TEL_CONT2 = "getProcessTelContext";
1112
1092
  var _DYN_ENABLED = "enabled";
1113
1093
  var _DYN_STOP_POLLING_INTERNA3 = "stopPollingInternalLogs";
1114
1094
  var _DYN_UNLOAD = "unload";
@@ -1134,7 +1114,6 @@
1134
1114
  var _DYN_TYPE = "type";
1135
1115
  var _DYN_HANDLER = "handler";
1136
1116
  var _DYN_STATUS = "status";
1137
- var _DYN_ITEMS_RECEIVED = "itemsReceived";
1138
1117
  var _DYN_GET_RESPONSE_HEADER = "getResponseHeader";
1139
1118
  var _DYN_GET_ALL_RESPONSE_HEA5 = "getAllResponseHeaders";
1140
1119
  var _DYN_IS_CHILD_EVT = "isChildEvt";
@@ -1142,6 +1121,7 @@
1142
1121
  var _DYN_GET_CTX = "getCtx";
1143
1122
  var _DYN_SET_CTX = "setCtx";
1144
1123
  var _DYN_COMPLETE = "complete";
1124
+ var _DYN_ITEMS_RECEIVED = "itemsReceived";
1145
1125
  var _DYN_URL_STRING = "urlString";
1146
1126
  var _DYN_SEND_POST = "sendPOST";
1147
1127
  var _DYN_HEADERS = "headers";
@@ -1807,779 +1787,535 @@
1807
1787
  var STR_PATH = "path";
1808
1788
  var STR_NOT_DYNAMIC_ERROR = "Not dynamic - ";
1809
1789
 
1810
- var listenerFuncs = [STR_EVENTS_SENT, STR_EVENTS_DISCARDED, STR_EVENTS_SEND_REQUEST, STR_PERF_EVENT];
1811
- var _aiNamespace = null;
1812
- var _debugListener;
1813
- function _listenerProxyFunc(name, config) {
1814
- return function () {
1815
- var args = arguments;
1816
- var dbgExt = getDebugExt(config);
1817
- if (dbgExt) {
1818
- var listener = dbgExt.listener;
1819
- if (listener && listener[name]) {
1820
- listener[name][_DYN_APPLY ](listener, args);
1821
- }
1822
- }
1823
- };
1790
+ var strGetPrototypeOf = "getPrototypeOf";
1791
+ var rCamelCase = /-([a-z])/g;
1792
+ var rNormalizeInvalid = /([^\w\d_$])/g;
1793
+ var rLeadingNumeric = /^(\d+[\w\d_$])/;
1794
+ var _getObjProto = Object[strGetPrototypeOf];
1795
+ function isNotUndefined(value) {
1796
+ return !isUndefined(value);
1824
1797
  }
1825
- function _getExtensionNamespace() {
1826
- var target = getInst("Microsoft");
1827
- if (target) {
1828
- _aiNamespace = target["ApplicationInsights"];
1798
+ function isNotNullOrUndefined(value) {
1799
+ return !isNullOrUndefined(value);
1800
+ }
1801
+ function normalizeJsName(name) {
1802
+ var value = name;
1803
+ if (value && isString(value)) {
1804
+ value = value[_DYN_REPLACE ](rCamelCase, function (_all, letter) {
1805
+ return letter.toUpperCase();
1806
+ });
1807
+ value = value[_DYN_REPLACE ](rNormalizeInvalid, "_");
1808
+ value = value[_DYN_REPLACE ](rLeadingNumeric, function (_all, match) {
1809
+ return "_" + match;
1810
+ });
1829
1811
  }
1830
- return _aiNamespace;
1812
+ return value;
1831
1813
  }
1832
- function getDebugExt(config) {
1833
- var ns = _aiNamespace;
1834
- if (!ns && config.disableDbgExt !== true) {
1835
- ns = _aiNamespace || _getExtensionNamespace();
1814
+ function strContains(value, search) {
1815
+ if (value && search) {
1816
+ return strIndexOf(value, search) !== -1;
1836
1817
  }
1837
- return ns ? ns["ChromeDbgExt"] : null;
1818
+ return false;
1838
1819
  }
1839
- function getDebugListener(config) {
1840
- if (!_debugListener) {
1841
- _debugListener = {};
1842
- for (var lp = 0; lp < listenerFuncs[_DYN_LENGTH ]; lp++) {
1843
- _debugListener[listenerFuncs[lp]] = _listenerProxyFunc(listenerFuncs[lp], config);
1844
- }
1820
+ function toISOString(date) {
1821
+ return date && date.toISOString() || "";
1822
+ }
1823
+ function getExceptionName(object) {
1824
+ if (isError(object)) {
1825
+ return object[_DYN_NAME ];
1845
1826
  }
1846
- return _debugListener;
1827
+ return STR_EMPTY$1;
1847
1828
  }
1848
-
1849
- var strDocumentMode = "documentMode";
1850
- var strLocation = "location";
1851
- var strConsole = "console";
1852
- var strJSON = "JSON";
1853
- var strCrypto = "crypto";
1854
- var strMsCrypto = "msCrypto";
1855
- var strReactNative = "ReactNative";
1856
- var strMsie = "msie";
1857
- var strTrident = "trident/";
1858
- var strXMLHttpRequest = "XMLHttpRequest";
1859
- var _isTrident = null;
1860
- var _navUserAgentCheck = null;
1861
- var _enableMocks = false;
1862
- var _useXDomainRequest = null;
1863
- var _beaconsSupported = null;
1864
- function _hasProperty(theClass, property) {
1865
- var supported = false;
1866
- if (theClass) {
1867
- try {
1868
- supported = property in theClass;
1869
- if (!supported) {
1870
- var proto = theClass[strShimPrototype];
1871
- if (proto) {
1872
- supported = property in proto;
1873
- }
1874
- }
1875
- }
1876
- catch (e) {
1877
- }
1878
- if (!supported) {
1879
- try {
1880
- var tmp = new theClass();
1881
- supported = !isUndefined(tmp[property]);
1882
- }
1883
- catch (e) {
1884
- }
1829
+ function setValue(target, field, value, valChk, srcChk) {
1830
+ var theValue = value;
1831
+ if (target) {
1832
+ theValue = target[field];
1833
+ if (theValue !== value && (!srcChk || srcChk(theValue)) && (!valChk || valChk(value))) {
1834
+ theValue = value;
1835
+ target[field] = theValue;
1885
1836
  }
1886
1837
  }
1887
- return supported;
1888
- }
1889
- function setEnableEnvMocks(enabled) {
1890
- _enableMocks = enabled;
1838
+ return theValue;
1891
1839
  }
1892
- function getLocation(checkForMock) {
1893
- if (checkForMock && _enableMocks) {
1894
- var mockLocation = getInst("__mockLocation");
1895
- if (mockLocation) {
1896
- return mockLocation;
1840
+ function getSetValue(target, field, defValue) {
1841
+ var theValue;
1842
+ if (target) {
1843
+ theValue = target[field];
1844
+ if (!theValue && isNullOrUndefined(theValue)) {
1845
+ theValue = !isUndefined(defValue) ? defValue : {};
1846
+ target[field] = theValue;
1897
1847
  }
1898
1848
  }
1899
- if (typeof location === strShimObject && location) {
1900
- return location;
1849
+ else {
1850
+ theValue = !isUndefined(defValue) ? defValue : {};
1901
1851
  }
1902
- return getInst(strLocation);
1852
+ return theValue;
1903
1853
  }
1904
- function getConsole() {
1905
- if (typeof console !== strShimUndefined) {
1906
- return console;
1854
+ function _createProxyFunction(source, funcName) {
1855
+ var srcFunc = null;
1856
+ var src = null;
1857
+ if (isFunction(source)) {
1858
+ srcFunc = source;
1907
1859
  }
1908
- return getInst(strConsole);
1860
+ else {
1861
+ src = source;
1862
+ }
1863
+ return function () {
1864
+ var originalArguments = arguments;
1865
+ if (srcFunc) {
1866
+ src = srcFunc();
1867
+ }
1868
+ if (src) {
1869
+ return src[funcName][_DYN_APPLY ](src, originalArguments);
1870
+ }
1871
+ };
1909
1872
  }
1910
- function hasJSON() {
1911
- return Boolean((typeof JSON === strShimObject && JSON) || getInst(strJSON) !== null);
1873
+ function proxyAssign(target, source, chkSet) {
1874
+ if (target && source && isObject(target) && isObject(source)) {
1875
+ var _loop_1 = function (field) {
1876
+ if (isString(field)) {
1877
+ var value = source[field];
1878
+ if (isFunction(value)) {
1879
+ if (!chkSet || chkSet(field, true, source, target)) {
1880
+ target[field] = _createProxyFunction(source, field);
1881
+ }
1882
+ }
1883
+ else if (!chkSet || chkSet(field, false, source, target)) {
1884
+ if (objHasOwn(target, field)) {
1885
+ delete target[field];
1886
+ }
1887
+ objDefine(target, field, {
1888
+ g: function () {
1889
+ return source[field];
1890
+ },
1891
+ s: function (theValue) {
1892
+ source[field] = theValue;
1893
+ }
1894
+ });
1895
+ }
1896
+ }
1897
+ };
1898
+ for (var field in source) {
1899
+ _loop_1(field);
1900
+ }
1901
+ }
1902
+ return target;
1912
1903
  }
1913
- function getJSON() {
1914
- if (hasJSON()) {
1915
- return JSON || getInst(strJSON);
1904
+ function proxyFunctionAs(target, name, source, theFunc, overwriteTarget) {
1905
+ if (target && name && source) {
1906
+ if (overwriteTarget !== false || isUndefined(target[name])) {
1907
+ target[name] = _createProxyFunction(source, theFunc);
1908
+ }
1916
1909
  }
1917
- return null;
1918
1910
  }
1919
- function getCrypto() {
1920
- return getInst(strCrypto);
1921
- }
1922
- function getMsCrypto() {
1923
- return getInst(strMsCrypto);
1924
- }
1925
- function isReactNative() {
1926
- var nav = getNavigator();
1927
- if (nav && nav.product) {
1928
- return nav.product === strReactNative;
1929
- }
1930
- return false;
1931
- }
1932
- function isIE() {
1933
- var nav = getNavigator();
1934
- if (nav && (nav[_DYN_USER_AGENT ] !== _navUserAgentCheck || _isTrident === null)) {
1935
- _navUserAgentCheck = nav[_DYN_USER_AGENT ];
1936
- var userAgent = (_navUserAgentCheck || STR_EMPTY$1)[_DYN_TO_LOWER_CASE ]();
1937
- _isTrident = (strContains(userAgent, strMsie) || strContains(userAgent, strTrident));
1911
+ function proxyFunctions(target, source, functionsToProxy, overwriteTarget) {
1912
+ if (target && source && isObject(target) && isArray(functionsToProxy)) {
1913
+ arrForEach(functionsToProxy, function (theFuncName) {
1914
+ if (isString(theFuncName)) {
1915
+ proxyFunctionAs(target, theFuncName, source, theFuncName, overwriteTarget);
1916
+ }
1917
+ });
1938
1918
  }
1939
- return _isTrident;
1919
+ return target;
1940
1920
  }
1941
- function getIEVersion(userAgentStr) {
1942
- if (userAgentStr === void 0) { userAgentStr = null; }
1943
- if (!userAgentStr) {
1944
- var navigator_1 = getNavigator() || {};
1945
- userAgentStr = navigator_1 ? (navigator_1.userAgent || STR_EMPTY$1)[_DYN_TO_LOWER_CASE ]() : STR_EMPTY$1;
1946
- }
1947
- var ua = (userAgentStr || STR_EMPTY$1)[_DYN_TO_LOWER_CASE ]();
1948
- if (strContains(ua, strMsie)) {
1949
- var doc = getDocument() || {};
1950
- return Math.max(parseInt(ua[_DYN_SPLIT ](strMsie)[1]), (doc[strDocumentMode] || 0));
1951
- }
1952
- else if (strContains(ua, strTrident)) {
1953
- var tridentVer = parseInt(ua[_DYN_SPLIT ](strTrident)[1]);
1954
- if (tridentVer) {
1955
- return tridentVer + 4;
1921
+ function createClassFromInterface(defaults) {
1922
+ return /** @class */ (function () {
1923
+ function class_1() {
1924
+ var _this = this;
1925
+ if (defaults) {
1926
+ objForEachKey(defaults, function (field, value) {
1927
+ _this[field] = value;
1928
+ });
1929
+ }
1956
1930
  }
1957
- }
1958
- return null;
1931
+ return class_1;
1932
+ }());
1959
1933
  }
1960
- function isSafari(userAgentStr) {
1961
- if (!userAgentStr || !isString(userAgentStr)) {
1962
- var navigator_2 = getNavigator() || {};
1963
- userAgentStr = navigator_2 ? (navigator_2.userAgent || STR_EMPTY$1)[_DYN_TO_LOWER_CASE ]() : STR_EMPTY$1;
1934
+ function optimizeObject(theObject) {
1935
+ if (theObject && objAssign) {
1936
+ theObject = ObjClass(objAssign({}, theObject));
1964
1937
  }
1965
- var ua = (userAgentStr || STR_EMPTY$1)[_DYN_TO_LOWER_CASE ]();
1966
- return (strIndexOf(ua, "safari") >= 0);
1938
+ return theObject;
1967
1939
  }
1968
- function isBeaconsSupported(useCached) {
1969
- if (_beaconsSupported === null || useCached === false) {
1970
- _beaconsSupported = hasNavigator() && Boolean(getNavigator().sendBeacon);
1940
+ function objExtend(obj1, obj2, obj3, obj4, obj5, obj6) {
1941
+ var theArgs = arguments;
1942
+ var extended = theArgs[0] || {};
1943
+ var argLen = theArgs[_DYN_LENGTH ];
1944
+ var deep = false;
1945
+ var idx = 1;
1946
+ if (argLen > 0 && isBoolean(extended)) {
1947
+ deep = extended;
1948
+ extended = theArgs[idx] || {};
1949
+ idx++;
1971
1950
  }
1972
- return _beaconsSupported;
1973
- }
1974
- function isFetchSupported(withKeepAlive) {
1975
- var isSupported = false;
1976
- try {
1977
- isSupported = !!getInst("fetch");
1978
- var request = getInst("Request");
1979
- if (isSupported && withKeepAlive && request) {
1980
- isSupported = _hasProperty(request, "keepalive");
1981
- }
1951
+ if (!isObject(extended)) {
1952
+ extended = {};
1982
1953
  }
1983
- catch (e) {
1954
+ for (; idx < argLen; idx++) {
1955
+ var arg = theArgs[idx];
1956
+ var isArgArray = isArray(arg);
1957
+ var isArgObj = isObject(arg);
1958
+ for (var prop in arg) {
1959
+ var propOk = (isArgArray && (prop in arg)) || (isArgObj && objHasOwn(arg, prop));
1960
+ if (!propOk) {
1961
+ continue;
1962
+ }
1963
+ var newValue = arg[prop];
1964
+ var isNewArray = void 0;
1965
+ if (deep && newValue && ((isNewArray = isArray(newValue)) || isPlainObject(newValue))) {
1966
+ var clone = extended[prop];
1967
+ if (isNewArray) {
1968
+ if (!isArray(clone)) {
1969
+ clone = [];
1970
+ }
1971
+ }
1972
+ else if (!isPlainObject(clone)) {
1973
+ clone = {};
1974
+ }
1975
+ newValue = objExtend(deep, clone, newValue);
1976
+ }
1977
+ if (newValue !== undefined) {
1978
+ extended[prop] = newValue;
1979
+ }
1980
+ }
1984
1981
  }
1985
- return isSupported;
1982
+ return extended;
1986
1983
  }
1987
- function useXDomainRequest() {
1988
- if (_useXDomainRequest === null) {
1989
- _useXDomainRequest = (typeof XDomainRequest !== strShimUndefined);
1990
- if (_useXDomainRequest && isXhrSupported()) {
1991
- _useXDomainRequest = _useXDomainRequest && !_hasProperty(getInst(strXMLHttpRequest), "withCredentials");
1992
- }
1984
+ function isFeatureEnabled(feature, cfg) {
1985
+ var rlt = false;
1986
+ var ft = cfg && cfg.featureOptIn && cfg.featureOptIn[feature];
1987
+ if (feature && ft) {
1988
+ var mode = ft.mode;
1989
+ rlt = (mode == 3 ) || (mode == 1 );
1993
1990
  }
1994
- return _useXDomainRequest;
1991
+ return rlt;
1995
1992
  }
1996
- function isXhrSupported() {
1997
- var isSupported = false;
1993
+ function getResponseText(xhr) {
1998
1994
  try {
1999
- var xmlHttpRequest = getInst(strXMLHttpRequest);
2000
- isSupported = !!xmlHttpRequest;
1995
+ return xhr.responseText;
2001
1996
  }
2002
1997
  catch (e) {
2003
1998
  }
2004
- return isSupported;
2005
- }
2006
- function _getNamedValue(values, name) {
2007
- if (values) {
2008
- for (var i = 0; i < values[_DYN_LENGTH ]; i++) {
2009
- var value = values[i];
2010
- if (value[_DYN_NAME ]) {
2011
- if (value[_DYN_NAME ] === name) {
2012
- return value;
2013
- }
2014
- }
2015
- }
2016
- }
2017
- return {};
2018
- }
2019
- function findMetaTag(name) {
2020
- var doc = getDocument();
2021
- if (doc && name) {
2022
- return _getNamedValue(doc.querySelectorAll("meta"), name).content;
2023
- }
2024
1999
  return null;
2025
2000
  }
2026
- function findNamedServerTiming(name) {
2027
- var value;
2028
- var perf = getPerformance();
2029
- if (perf) {
2030
- var navPerf = perf.getEntriesByType("navigation") || [];
2031
- value = _getNamedValue((navPerf[_DYN_LENGTH ] > 0 ? navPerf[0] : {}).serverTiming, name).description;
2001
+ function formatErrorMessageXdr(xdr, message) {
2002
+ if (xdr) {
2003
+ return "XDomainRequest,Response:" + getResponseText(xdr) || "";
2032
2004
  }
2033
- return value;
2005
+ return message;
2034
2006
  }
2035
- function dispatchEvent(target, evnt) {
2036
- if (target && target.dispatchEvent && evnt) {
2037
- target.dispatchEvent(evnt);
2038
- return true;
2007
+ function formatErrorMessageXhr(xhr, message) {
2008
+ if (xhr) {
2009
+ return "XMLHttpRequest,Status:" + xhr[_DYN_STATUS ] + ",Response:" + getResponseText(xhr) || xhr.response || "";
2039
2010
  }
2040
- return false;
2011
+ return message;
2041
2012
  }
2042
- function createCustomDomEvent(eventName, details) {
2043
- var event = null;
2044
- var detail = { detail: details || null };
2045
- if (isFunction(CustomEvent)) {
2046
- event = new CustomEvent(eventName, detail);
2047
- }
2048
- else {
2049
- var doc = getDocument();
2050
- if (doc && doc.createEvent) {
2051
- event = doc.createEvent("CustomEvent");
2052
- event.initCustomEvent(eventName, true, true, detail);
2013
+ function prependTransports(theTransports, newTransports) {
2014
+ if (newTransports) {
2015
+ if (isNumber(newTransports)) {
2016
+ theTransports = [newTransports].concat(theTransports);
2017
+ }
2018
+ else if (isArray(newTransports)) {
2019
+ theTransports = newTransports.concat(theTransports);
2053
2020
  }
2054
2021
  }
2055
- return event;
2022
+ return theTransports;
2056
2023
  }
2057
- function sendCustomEvent(evtName, cfg, customDetails) {
2058
- var global = getGlobal();
2059
- if (global && global.CustomEvent) {
2024
+ var strDisabledPropertyName = "Microsoft_ApplicationInsights_BypassAjaxInstrumentation";
2025
+ var strWithCredentials = "withCredentials";
2026
+ var strTimeout = "timeout";
2027
+ function openXhr(method, urlString, withCredentials, disabled, isSync, timeout) {
2028
+ if (disabled === void 0) { disabled = false; }
2029
+ if (isSync === void 0) { isSync = false; }
2030
+ function _wrapSetXhrProp(xhr, prop, value) {
2060
2031
  try {
2061
- var details = { cfg: cfg || null, customDetails: customDetails || null };
2062
- return dispatchEvent(global, createCustomDomEvent(evtName, details));
2032
+ xhr[prop] = value;
2063
2033
  }
2064
2034
  catch (e) {
2065
2035
  }
2066
2036
  }
2067
- return false;
2068
- }
2069
-
2070
- var _a$3;
2071
- var STR_WARN_TO_CONSOLE = "warnToConsole";
2072
- var AiNonUserActionablePrefix = "AI (Internal): ";
2073
- var AiUserActionablePrefix = "AI: ";
2074
- var AIInternalMessagePrefix = "AITR_";
2075
- var defaultValues$2 = {
2076
- loggingLevelConsole: 0,
2077
- loggingLevelTelemetry: 1,
2078
- maxMessageLimit: 25,
2079
- enableDebug: false
2080
- };
2081
- var _logFuncs = (_a$3 = {},
2082
- _a$3[0 ] = null,
2083
- _a$3[1 ] = "errorToConsole",
2084
- _a$3[2 ] = STR_WARN_TO_CONSOLE,
2085
- _a$3[3 ] = "debugToConsole",
2086
- _a$3);
2087
- function _sanitizeDiagnosticText(text) {
2088
- if (text) {
2089
- return "\"" + text[_DYN_REPLACE ](/\"/g, STR_EMPTY$1) + "\"";
2037
+ var xhr = new XMLHttpRequest();
2038
+ if (disabled) {
2039
+ _wrapSetXhrProp(xhr, strDisabledPropertyName, disabled);
2090
2040
  }
2091
- return STR_EMPTY$1;
2092
- }
2093
- function _logToConsole(func, message) {
2094
- var theConsole = getConsole();
2095
- if (!!theConsole) {
2096
- var logFunc = "log";
2097
- if (theConsole[func]) {
2098
- logFunc = func;
2099
- }
2100
- if (isFunction(theConsole[logFunc])) {
2101
- theConsole[logFunc](message);
2102
- }
2041
+ if (withCredentials) {
2042
+ _wrapSetXhrProp(xhr, strWithCredentials, withCredentials);
2103
2043
  }
2104
- }
2105
- var _InternalLogMessage = /** @class */ (function () {
2106
- function _InternalLogMessage(msgId, msg, isUserAct, properties) {
2107
- if (isUserAct === void 0) { isUserAct = false; }
2108
- var _self = this;
2109
- _self[_DYN_MESSAGE_ID ] = msgId;
2110
- _self[_DYN_MESSAGE ] =
2111
- (isUserAct ? AiUserActionablePrefix : AiNonUserActionablePrefix) +
2112
- msgId;
2113
- var strProps = STR_EMPTY$1;
2114
- if (hasJSON()) {
2115
- strProps = getJSON().stringify(properties);
2116
- }
2117
- var diagnosticText = (msg ? " message:" + _sanitizeDiagnosticText(msg) : STR_EMPTY$1) +
2118
- (properties ? " props:" + _sanitizeDiagnosticText(strProps) : STR_EMPTY$1);
2119
- _self[_DYN_MESSAGE ] += diagnosticText;
2044
+ xhr.open(method, urlString, !isSync);
2045
+ if (withCredentials) {
2046
+ _wrapSetXhrProp(xhr, strWithCredentials, withCredentials);
2120
2047
  }
2121
- _InternalLogMessage.dataType = "MessageData";
2122
- return _InternalLogMessage;
2123
- }());
2124
- function safeGetLogger(core, config) {
2125
- return (core || {})[_DYN_LOGGER ] || new DiagnosticLogger(config);
2048
+ if (!isSync && timeout) {
2049
+ _wrapSetXhrProp(xhr, strTimeout, timeout);
2050
+ }
2051
+ return xhr;
2126
2052
  }
2127
- var DiagnosticLogger = /** @class */ (function () {
2128
- function DiagnosticLogger(config) {
2129
- this.identifier = "DiagnosticLogger";
2130
- this.queue = [];
2131
- var _messageCount = 0;
2132
- var _messageLogged = {};
2133
- var _loggingLevelConsole;
2134
- var _loggingLevelTelemetry;
2135
- var _maxInternalMessageLimit;
2136
- var _enableDebug;
2137
- var _unloadHandler;
2138
- dynamicProto(DiagnosticLogger, this, function (_self) {
2139
- _unloadHandler = _setDefaultsFromConfig(config || {});
2140
- _self.consoleLoggingLevel = function () { return _loggingLevelConsole; };
2141
- _self[_DYN_THROW_INTERNAL ] = function (severity, msgId, msg, properties, isUserAct) {
2142
- if (isUserAct === void 0) { isUserAct = false; }
2143
- var message = new _InternalLogMessage(msgId, msg, isUserAct, properties);
2144
- if (_enableDebug) {
2145
- throw dumpObj(message);
2146
- }
2147
- else {
2148
- var logFunc = _logFuncs[severity] || STR_WARN_TO_CONSOLE;
2149
- if (!isUndefined(message[_DYN_MESSAGE ])) {
2150
- if (isUserAct) {
2151
- var messageKey = +message[_DYN_MESSAGE_ID ];
2152
- if (!_messageLogged[messageKey] && _loggingLevelConsole >= severity) {
2153
- _self[logFunc](message[_DYN_MESSAGE ]);
2154
- _messageLogged[messageKey] = true;
2155
- }
2156
- }
2157
- else {
2158
- if (_loggingLevelConsole >= severity) {
2159
- _self[logFunc](message[_DYN_MESSAGE ]);
2160
- }
2161
- }
2162
- _logInternalMessage(severity, message);
2163
- }
2164
- else {
2165
- _debugExtMsg("throw" + (severity === 1 ? "Critical" : "Warning"), message);
2166
- }
2167
- }
2168
- };
2169
- _self.debugToConsole = function (message) {
2170
- _logToConsole("debug", message);
2171
- _debugExtMsg("warning", message);
2172
- };
2173
- _self[_DYN_WARN_TO_CONSOLE ] = function (message) {
2174
- _logToConsole("warn", message);
2175
- _debugExtMsg("warning", message);
2176
- };
2177
- _self.errorToConsole = function (message) {
2178
- _logToConsole("error", message);
2179
- _debugExtMsg("error", message);
2180
- };
2181
- _self.resetInternalMessageCount = function () {
2182
- _messageCount = 0;
2183
- _messageLogged = {};
2184
- };
2185
- _self[_DYN_LOG_INTERNAL_MESSAGE ] = _logInternalMessage;
2186
- _self[_DYN_UNLOAD ] = function (isAsync) {
2187
- _unloadHandler && _unloadHandler.rm();
2188
- _unloadHandler = null;
2189
- };
2190
- function _logInternalMessage(severity, message) {
2191
- if (_areInternalMessagesThrottled()) {
2192
- return;
2193
- }
2194
- var logMessage = true;
2195
- var messageKey = AIInternalMessagePrefix + message[_DYN_MESSAGE_ID ];
2196
- if (_messageLogged[messageKey]) {
2197
- logMessage = false;
2053
+ function convertAllHeadersToMap(headersString) {
2054
+ var headers = {};
2055
+ if (isString(headersString)) {
2056
+ var headersArray = strTrim(headersString)[_DYN_SPLIT ](/[\r\n]+/);
2057
+ arrForEach(headersArray, function (headerEntry) {
2058
+ if (headerEntry) {
2059
+ var idx = headerEntry.indexOf(": ");
2060
+ if (idx !== -1) {
2061
+ var header = strTrim(headerEntry.substring(0, idx))[_DYN_TO_LOWER_CASE ]();
2062
+ var value = strTrim(headerEntry.substring(idx + 1));
2063
+ headers[header] = value;
2198
2064
  }
2199
2065
  else {
2200
- _messageLogged[messageKey] = true;
2201
- }
2202
- if (logMessage) {
2203
- if (severity <= _loggingLevelTelemetry) {
2204
- _self.queue[_DYN_PUSH ](message);
2205
- _messageCount++;
2206
- _debugExtMsg((severity === 1 ? "error" : "warn"), message);
2207
- }
2208
- if (_messageCount === _maxInternalMessageLimit) {
2209
- var throttleLimitMessage = "Internal events throttle limit per PageView reached for this app.";
2210
- var throttleMessage = new _InternalLogMessage(23 , throttleLimitMessage, false);
2211
- _self.queue[_DYN_PUSH ](throttleMessage);
2212
- if (severity === 1 ) {
2213
- _self.errorToConsole(throttleLimitMessage);
2214
- }
2215
- else {
2216
- _self[_DYN_WARN_TO_CONSOLE ](throttleLimitMessage);
2217
- }
2218
- }
2219
- }
2220
- }
2221
- function _setDefaultsFromConfig(config) {
2222
- return onConfigChange(createDynamicConfig(config, defaultValues$2, _self).cfg, function (details) {
2223
- var config = details.cfg;
2224
- _loggingLevelConsole = config[_DYN_LOGGING_LEVEL_CONSOL4 ];
2225
- _loggingLevelTelemetry = config.loggingLevelTelemetry;
2226
- _maxInternalMessageLimit = config.maxMessageLimit;
2227
- _enableDebug = config.enableDebug;
2228
- });
2229
- }
2230
- function _areInternalMessagesThrottled() {
2231
- return _messageCount >= _maxInternalMessageLimit;
2232
- }
2233
- function _debugExtMsg(name, data) {
2234
- var dbgExt = getDebugExt(config || {});
2235
- if (dbgExt && dbgExt[_DYN_DIAG_LOG ]) {
2236
- dbgExt[_DYN_DIAG_LOG ](name, data);
2066
+ headers[strTrim(headerEntry)] = 1;
2237
2067
  }
2238
2068
  }
2239
2069
  });
2240
2070
  }
2241
- DiagnosticLogger.__ieDyn=1;
2242
- return DiagnosticLogger;
2243
- }());
2244
- function _getLogger(logger) {
2245
- return (logger || new DiagnosticLogger());
2246
- }
2247
- function _throwInternal(logger, severity, msgId, msg, properties, isUserAct) {
2248
- if (isUserAct === void 0) { isUserAct = false; }
2249
- _getLogger(logger)[_DYN_THROW_INTERNAL ](severity, msgId, msg, properties, isUserAct);
2250
- }
2251
- function _warnToConsole(logger, message) {
2252
- _getLogger(logger)[_DYN_WARN_TO_CONSOLE ](message);
2253
- }
2254
- function _logInternalMessage(logger, severity, message) {
2255
- _getLogger(logger)[_DYN_LOG_INTERNAL_MESSAGE ](severity, message);
2256
- }
2257
-
2258
- var strGetPrototypeOf = "getPrototypeOf";
2259
- var rCamelCase = /-([a-z])/g;
2260
- var rNormalizeInvalid = /([^\w\d_$])/g;
2261
- var rLeadingNumeric = /^(\d+[\w\d_$])/;
2262
- var _getObjProto = Object[strGetPrototypeOf];
2263
- function isNotUndefined(value) {
2264
- return !isUndefined(value);
2265
- }
2266
- function isNotNullOrUndefined(value) {
2267
- return !isNullOrUndefined(value);
2268
- }
2269
- function normalizeJsName(name) {
2270
- var value = name;
2271
- if (value && isString(value)) {
2272
- value = value[_DYN_REPLACE ](rCamelCase, function (_all, letter) {
2273
- return letter.toUpperCase();
2274
- });
2275
- value = value[_DYN_REPLACE ](rNormalizeInvalid, "_");
2276
- value = value[_DYN_REPLACE ](rLeadingNumeric, function (_all, match) {
2277
- return "_" + match;
2278
- });
2279
- }
2280
- return value;
2281
- }
2282
- function strContains(value, search) {
2283
- if (value && search) {
2284
- return strIndexOf(value, search) !== -1;
2285
- }
2286
- return false;
2287
- }
2288
- function toISOString(date) {
2289
- return date && date.toISOString() || "";
2290
- }
2291
- function getExceptionName(object) {
2292
- if (isError(object)) {
2293
- return object[_DYN_NAME ];
2294
- }
2295
- return STR_EMPTY$1;
2071
+ return headers;
2296
2072
  }
2297
- function setValue(target, field, value, valChk, srcChk) {
2298
- var theValue = value;
2299
- if (target) {
2300
- theValue = target[field];
2301
- if (theValue !== value && (!srcChk || srcChk(theValue)) && (!valChk || valChk(value))) {
2302
- theValue = value;
2303
- target[field] = theValue;
2073
+ function _appendHeader(theHeaders, xhr, name) {
2074
+ if (!theHeaders[name] && xhr && xhr[_DYN_GET_RESPONSE_HEADER ]) {
2075
+ var value = xhr[_DYN_GET_RESPONSE_HEADER ](name);
2076
+ if (value) {
2077
+ theHeaders[name] = strTrim(value);
2304
2078
  }
2305
2079
  }
2306
- return theValue;
2080
+ return theHeaders;
2307
2081
  }
2308
- function getSetValue(target, field, defValue) {
2309
- var theValue;
2310
- if (target) {
2311
- theValue = target[field];
2312
- if (!theValue && isNullOrUndefined(theValue)) {
2313
- theValue = !isUndefined(defValue) ? defValue : {};
2314
- target[field] = theValue;
2082
+ var STR_KILL_DURATION_HEADER = "kill-duration";
2083
+ var STR_KILL_DURATION_SECONDS_HEADER = "kill-duration-seconds";
2084
+ var STR_TIME_DELTA_HEADER = "time-delta-millis";
2085
+ function _getAllResponseHeaders(xhr, isOneDs) {
2086
+ var theHeaders = {};
2087
+ if (!xhr[_DYN_GET_ALL_RESPONSE_HEA5 ]) {
2088
+ if (!!isOneDs) {
2089
+ theHeaders = _appendHeader(theHeaders, xhr, STR_TIME_DELTA_HEADER);
2090
+ theHeaders = _appendHeader(theHeaders, xhr, STR_KILL_DURATION_HEADER);
2091
+ theHeaders = _appendHeader(theHeaders, xhr, STR_KILL_DURATION_SECONDS_HEADER);
2315
2092
  }
2316
2093
  }
2317
2094
  else {
2318
- theValue = !isUndefined(defValue) ? defValue : {};
2319
- }
2320
- return theValue;
2321
- }
2322
- function _createProxyFunction(source, funcName) {
2323
- var srcFunc = null;
2324
- var src = null;
2325
- if (isFunction(source)) {
2326
- srcFunc = source;
2327
- }
2328
- else {
2329
- src = source;
2095
+ theHeaders = convertAllHeadersToMap(xhr[_DYN_GET_ALL_RESPONSE_HEA5 ]());
2330
2096
  }
2331
- return function () {
2332
- var originalArguments = arguments;
2333
- if (srcFunc) {
2334
- src = srcFunc();
2335
- }
2336
- if (src) {
2337
- return src[funcName][_DYN_APPLY ](src, originalArguments);
2338
- }
2339
- };
2097
+ return theHeaders;
2340
2098
  }
2341
- function proxyAssign(target, source, chkSet) {
2342
- if (target && source && isObject(target) && isObject(source)) {
2343
- var _loop_1 = function (field) {
2344
- if (isString(field)) {
2345
- var value = source[field];
2346
- if (isFunction(value)) {
2347
- if (!chkSet || chkSet(field, true, source, target)) {
2348
- target[field] = _createProxyFunction(source, field);
2349
- }
2350
- }
2351
- else if (!chkSet || chkSet(field, false, source, target)) {
2352
- if (objHasOwn(target, field)) {
2353
- delete target[field];
2354
- }
2355
- objDefine(target, field, {
2356
- g: function () {
2357
- return source[field];
2358
- },
2359
- s: function (theValue) {
2360
- source[field] = theValue;
2361
- }
2362
- });
2099
+
2100
+ var strDocumentMode = "documentMode";
2101
+ var strLocation = "location";
2102
+ var strConsole = "console";
2103
+ var strJSON = "JSON";
2104
+ var strCrypto = "crypto";
2105
+ var strMsCrypto = "msCrypto";
2106
+ var strReactNative = "ReactNative";
2107
+ var strMsie = "msie";
2108
+ var strTrident = "trident/";
2109
+ var strXMLHttpRequest = "XMLHttpRequest";
2110
+ var _isTrident = null;
2111
+ var _navUserAgentCheck = null;
2112
+ var _enableMocks = false;
2113
+ var _useXDomainRequest = null;
2114
+ var _beaconsSupported = null;
2115
+ function _hasProperty(theClass, property) {
2116
+ var supported = false;
2117
+ if (theClass) {
2118
+ try {
2119
+ supported = property in theClass;
2120
+ if (!supported) {
2121
+ var proto = theClass[strShimPrototype];
2122
+ if (proto) {
2123
+ supported = property in proto;
2363
2124
  }
2364
2125
  }
2365
- };
2366
- for (var field in source) {
2367
- _loop_1(field);
2126
+ }
2127
+ catch (e) {
2128
+ }
2129
+ if (!supported) {
2130
+ try {
2131
+ var tmp = new theClass();
2132
+ supported = !isUndefined(tmp[property]);
2133
+ }
2134
+ catch (e) {
2135
+ }
2368
2136
  }
2369
2137
  }
2370
- return target;
2138
+ return supported;
2371
2139
  }
2372
- function proxyFunctionAs(target, name, source, theFunc, overwriteTarget) {
2373
- if (target && name && source) {
2374
- if (overwriteTarget !== false || isUndefined(target[name])) {
2375
- target[name] = _createProxyFunction(source, theFunc);
2140
+ function setEnableEnvMocks(enabled) {
2141
+ _enableMocks = enabled;
2142
+ }
2143
+ function getLocation(checkForMock) {
2144
+ if (checkForMock && _enableMocks) {
2145
+ var mockLocation = getInst("__mockLocation");
2146
+ if (mockLocation) {
2147
+ return mockLocation;
2376
2148
  }
2377
2149
  }
2150
+ if (typeof location === strShimObject && location) {
2151
+ return location;
2152
+ }
2153
+ return getInst(strLocation);
2378
2154
  }
2379
- function proxyFunctions(target, source, functionsToProxy, overwriteTarget) {
2380
- if (target && source && isObject(target) && isArray(functionsToProxy)) {
2381
- arrForEach(functionsToProxy, function (theFuncName) {
2382
- if (isString(theFuncName)) {
2383
- proxyFunctionAs(target, theFuncName, source, theFuncName, overwriteTarget);
2384
- }
2385
- });
2155
+ function getConsole() {
2156
+ if (typeof console !== strShimUndefined) {
2157
+ return console;
2386
2158
  }
2387
- return target;
2159
+ return getInst(strConsole);
2388
2160
  }
2389
- function createClassFromInterface(defaults) {
2390
- return /** @class */ (function () {
2391
- function class_1() {
2392
- var _this = this;
2393
- if (defaults) {
2394
- objForEachKey(defaults, function (field, value) {
2395
- _this[field] = value;
2396
- });
2397
- }
2398
- }
2399
- return class_1;
2400
- }());
2161
+ function hasJSON() {
2162
+ return Boolean((typeof JSON === strShimObject && JSON) || getInst(strJSON) !== null);
2401
2163
  }
2402
- function optimizeObject(theObject) {
2403
- if (theObject && objAssign) {
2404
- theObject = ObjClass(objAssign({}, theObject));
2164
+ function getJSON() {
2165
+ if (hasJSON()) {
2166
+ return JSON || getInst(strJSON);
2405
2167
  }
2406
- return theObject;
2168
+ return null;
2407
2169
  }
2408
- function objExtend(obj1, obj2, obj3, obj4, obj5, obj6) {
2409
- var theArgs = arguments;
2410
- var extended = theArgs[0] || {};
2411
- var argLen = theArgs[_DYN_LENGTH ];
2412
- var deep = false;
2413
- var idx = 1;
2414
- if (argLen > 0 && isBoolean(extended)) {
2415
- deep = extended;
2416
- extended = theArgs[idx] || {};
2417
- idx++;
2418
- }
2419
- if (!isObject(extended)) {
2420
- extended = {};
2421
- }
2422
- for (; idx < argLen; idx++) {
2423
- var arg = theArgs[idx];
2424
- var isArgArray = isArray(arg);
2425
- var isArgObj = isObject(arg);
2426
- for (var prop in arg) {
2427
- var propOk = (isArgArray && (prop in arg)) || (isArgObj && objHasOwn(arg, prop));
2428
- if (!propOk) {
2429
- continue;
2430
- }
2431
- var newValue = arg[prop];
2432
- var isNewArray = void 0;
2433
- if (deep && newValue && ((isNewArray = isArray(newValue)) || isPlainObject(newValue))) {
2434
- var clone = extended[prop];
2435
- if (isNewArray) {
2436
- if (!isArray(clone)) {
2437
- clone = [];
2438
- }
2439
- }
2440
- else if (!isPlainObject(clone)) {
2441
- clone = {};
2442
- }
2443
- newValue = objExtend(deep, clone, newValue);
2444
- }
2445
- if (newValue !== undefined) {
2446
- extended[prop] = newValue;
2447
- }
2448
- }
2170
+ function getCrypto() {
2171
+ return getInst(strCrypto);
2172
+ }
2173
+ function getMsCrypto() {
2174
+ return getInst(strMsCrypto);
2175
+ }
2176
+ function isReactNative() {
2177
+ var nav = getNavigator();
2178
+ if (nav && nav.product) {
2179
+ return nav.product === strReactNative;
2449
2180
  }
2450
- return extended;
2181
+ return false;
2451
2182
  }
2452
- function isFeatureEnabled(feature, cfg) {
2453
- var rlt = false;
2454
- var ft = cfg && cfg.featureOptIn && cfg.featureOptIn[feature];
2455
- if (feature && ft) {
2456
- var mode = ft.mode;
2457
- rlt = (mode == 3 ) || (mode == 1 );
2183
+ function isIE() {
2184
+ var nav = getNavigator();
2185
+ if (nav && (nav[_DYN_USER_AGENT ] !== _navUserAgentCheck || _isTrident === null)) {
2186
+ _navUserAgentCheck = nav[_DYN_USER_AGENT ];
2187
+ var userAgent = (_navUserAgentCheck || STR_EMPTY$1)[_DYN_TO_LOWER_CASE ]();
2188
+ _isTrident = (strContains(userAgent, strMsie) || strContains(userAgent, strTrident));
2458
2189
  }
2459
- return rlt;
2190
+ return _isTrident;
2460
2191
  }
2461
- function getResponseText(xhr) {
2462
- try {
2463
- return xhr.responseText;
2192
+ function getIEVersion(userAgentStr) {
2193
+ if (userAgentStr === void 0) { userAgentStr = null; }
2194
+ if (!userAgentStr) {
2195
+ var navigator_1 = getNavigator() || {};
2196
+ userAgentStr = navigator_1 ? (navigator_1.userAgent || STR_EMPTY$1)[_DYN_TO_LOWER_CASE ]() : STR_EMPTY$1;
2464
2197
  }
2465
- catch (e) {
2198
+ var ua = (userAgentStr || STR_EMPTY$1)[_DYN_TO_LOWER_CASE ]();
2199
+ if (strContains(ua, strMsie)) {
2200
+ var doc = getDocument() || {};
2201
+ return Math.max(parseInt(ua[_DYN_SPLIT ](strMsie)[1]), (doc[strDocumentMode] || 0));
2202
+ }
2203
+ else if (strContains(ua, strTrident)) {
2204
+ var tridentVer = parseInt(ua[_DYN_SPLIT ](strTrident)[1]);
2205
+ if (tridentVer) {
2206
+ return tridentVer + 4;
2207
+ }
2466
2208
  }
2467
2209
  return null;
2468
2210
  }
2469
- function formatErrorMessageXdr(xdr, message) {
2470
- if (xdr) {
2471
- return "XDomainRequest,Response:" + getResponseText(xdr) || "";
2211
+ function isSafari(userAgentStr) {
2212
+ if (!userAgentStr || !isString(userAgentStr)) {
2213
+ var navigator_2 = getNavigator() || {};
2214
+ userAgentStr = navigator_2 ? (navigator_2.userAgent || STR_EMPTY$1)[_DYN_TO_LOWER_CASE ]() : STR_EMPTY$1;
2472
2215
  }
2473
- return message;
2216
+ var ua = (userAgentStr || STR_EMPTY$1)[_DYN_TO_LOWER_CASE ]();
2217
+ return (strIndexOf(ua, "safari") >= 0);
2474
2218
  }
2475
- function formatErrorMessageXhr(xhr, message) {
2476
- if (xhr) {
2477
- return "XMLHttpRequest,Status:" + xhr[_DYN_STATUS ] + ",Response:" + getResponseText(xhr) || xhr.response || "";
2219
+ function isBeaconsSupported(useCached) {
2220
+ if (_beaconsSupported === null || useCached === false) {
2221
+ _beaconsSupported = hasNavigator() && Boolean(getNavigator().sendBeacon);
2478
2222
  }
2479
- return message;
2223
+ return _beaconsSupported;
2480
2224
  }
2481
- function prependTransports(theTransports, newTransports) {
2482
- if (newTransports) {
2483
- if (isNumber(newTransports)) {
2484
- theTransports = [newTransports].concat(theTransports);
2225
+ function isFetchSupported(withKeepAlive) {
2226
+ var isSupported = false;
2227
+ try {
2228
+ isSupported = !!getInst("fetch");
2229
+ var request = getInst("Request");
2230
+ if (isSupported && withKeepAlive && request) {
2231
+ isSupported = _hasProperty(request, "keepalive");
2485
2232
  }
2486
- else if (isArray(newTransports)) {
2487
- theTransports = newTransports.concat(theTransports);
2233
+ }
2234
+ catch (e) {
2235
+ }
2236
+ return isSupported;
2237
+ }
2238
+ function useXDomainRequest() {
2239
+ if (_useXDomainRequest === null) {
2240
+ _useXDomainRequest = (typeof XDomainRequest !== strShimUndefined);
2241
+ if (_useXDomainRequest && isXhrSupported()) {
2242
+ _useXDomainRequest = _useXDomainRequest && !_hasProperty(getInst(strXMLHttpRequest), "withCredentials");
2488
2243
  }
2489
2244
  }
2490
- return theTransports;
2245
+ return _useXDomainRequest;
2491
2246
  }
2492
- function parseResponse(response, diagLog) {
2247
+ function isXhrSupported() {
2248
+ var isSupported = false;
2493
2249
  try {
2494
- if (response && response !== "") {
2495
- var result = getJSON().parse(response);
2496
- if (result && result[_DYN_ITEMS_RECEIVED ] && result[_DYN_ITEMS_RECEIVED ] >= result.itemsAccepted &&
2497
- result.itemsReceived - result.itemsAccepted === result.errors[_DYN_LENGTH ]) {
2498
- return result;
2499
- }
2500
- }
2250
+ var xmlHttpRequest = getInst(strXMLHttpRequest);
2251
+ isSupported = !!xmlHttpRequest;
2501
2252
  }
2502
2253
  catch (e) {
2503
- _throwInternal(diagLog, 1 , 43 , "Cannot parse the response. " + getExceptionName(e), {
2504
- response: response
2505
- });
2506
2254
  }
2507
- return null;
2255
+ return isSupported;
2508
2256
  }
2509
- var strDisabledPropertyName = "Microsoft_ApplicationInsights_BypassAjaxInstrumentation";
2510
- var strWithCredentials = "withCredentials";
2511
- var strTimeout = "timeout";
2512
- function openXhr(method, urlString, withCredentials, disabled, isSync, timeout) {
2513
- if (disabled === void 0) { disabled = false; }
2514
- if (isSync === void 0) { isSync = false; }
2515
- function _wrapSetXhrProp(xhr, prop, value) {
2516
- try {
2517
- xhr[prop] = value;
2518
- }
2519
- catch (e) {
2257
+ function _getNamedValue(values, name) {
2258
+ if (values) {
2259
+ for (var i = 0; i < values[_DYN_LENGTH ]; i++) {
2260
+ var value = values[i];
2261
+ if (value[_DYN_NAME ]) {
2262
+ if (value[_DYN_NAME ] === name) {
2263
+ return value;
2264
+ }
2265
+ }
2520
2266
  }
2521
2267
  }
2522
- var xhr = new XMLHttpRequest();
2523
- if (disabled) {
2524
- _wrapSetXhrProp(xhr, strDisabledPropertyName, disabled);
2525
- }
2526
- if (withCredentials) {
2527
- _wrapSetXhrProp(xhr, strWithCredentials, withCredentials);
2528
- }
2529
- xhr.open(method, urlString, !isSync);
2530
- if (withCredentials) {
2531
- _wrapSetXhrProp(xhr, strWithCredentials, withCredentials);
2268
+ return {};
2269
+ }
2270
+ function findMetaTag(name) {
2271
+ var doc = getDocument();
2272
+ if (doc && name) {
2273
+ return _getNamedValue(doc.querySelectorAll("meta"), name).content;
2532
2274
  }
2533
- if (!isSync && timeout) {
2534
- _wrapSetXhrProp(xhr, strTimeout, timeout);
2275
+ return null;
2276
+ }
2277
+ function findNamedServerTiming(name) {
2278
+ var value;
2279
+ var perf = getPerformance();
2280
+ if (perf) {
2281
+ var navPerf = perf.getEntriesByType("navigation") || [];
2282
+ value = _getNamedValue((navPerf[_DYN_LENGTH ] > 0 ? navPerf[0] : {}).serverTiming, name).description;
2535
2283
  }
2536
- return xhr;
2284
+ return value;
2537
2285
  }
2538
- function convertAllHeadersToMap(headersString) {
2539
- var headers = {};
2540
- if (isString(headersString)) {
2541
- var headersArray = strTrim(headersString)[_DYN_SPLIT ](/[\r\n]+/);
2542
- arrForEach(headersArray, function (headerEntry) {
2543
- if (headerEntry) {
2544
- var idx = headerEntry.indexOf(": ");
2545
- if (idx !== -1) {
2546
- var header = strTrim(headerEntry.substring(0, idx))[_DYN_TO_LOWER_CASE ]();
2547
- var value = strTrim(headerEntry.substring(idx + 1));
2548
- headers[header] = value;
2549
- }
2550
- else {
2551
- headers[strTrim(headerEntry)] = 1;
2552
- }
2553
- }
2554
- });
2286
+ function dispatchEvent(target, evnt) {
2287
+ if (target && target.dispatchEvent && evnt) {
2288
+ target.dispatchEvent(evnt);
2289
+ return true;
2555
2290
  }
2556
- return headers;
2291
+ return false;
2557
2292
  }
2558
- function _appendHeader(theHeaders, xhr, name) {
2559
- if (!theHeaders[name] && xhr && xhr[_DYN_GET_RESPONSE_HEADER ]) {
2560
- var value = xhr[_DYN_GET_RESPONSE_HEADER ](name);
2561
- if (value) {
2562
- theHeaders[name] = strTrim(value);
2293
+ function createCustomDomEvent(eventName, details) {
2294
+ var event = null;
2295
+ var detail = { detail: details || null };
2296
+ if (isFunction(CustomEvent)) {
2297
+ event = new CustomEvent(eventName, detail);
2298
+ }
2299
+ else {
2300
+ var doc = getDocument();
2301
+ if (doc && doc.createEvent) {
2302
+ event = doc.createEvent("CustomEvent");
2303
+ event.initCustomEvent(eventName, true, true, detail);
2563
2304
  }
2564
2305
  }
2565
- return theHeaders;
2306
+ return event;
2566
2307
  }
2567
- var STR_KILL_DURATION_HEADER = "kill-duration";
2568
- var STR_KILL_DURATION_SECONDS_HEADER = "kill-duration-seconds";
2569
- var STR_TIME_DELTA_HEADER = "time-delta-millis";
2570
- function _getAllResponseHeaders(xhr, isOneDs) {
2571
- var theHeaders = {};
2572
- if (!xhr[_DYN_GET_ALL_RESPONSE_HEA5 ]) {
2573
- if (!!isOneDs) {
2574
- theHeaders = _appendHeader(theHeaders, xhr, STR_TIME_DELTA_HEADER);
2575
- theHeaders = _appendHeader(theHeaders, xhr, STR_KILL_DURATION_HEADER);
2576
- theHeaders = _appendHeader(theHeaders, xhr, STR_KILL_DURATION_SECONDS_HEADER);
2308
+ function sendCustomEvent(evtName, cfg, customDetails) {
2309
+ var global = getGlobal();
2310
+ if (global && global.CustomEvent) {
2311
+ try {
2312
+ var details = { cfg: cfg || null, customDetails: customDetails || null };
2313
+ return dispatchEvent(global, createCustomDomEvent(evtName, details));
2314
+ }
2315
+ catch (e) {
2577
2316
  }
2578
2317
  }
2579
- else {
2580
- theHeaders = convertAllHeadersToMap(xhr[_DYN_GET_ALL_RESPONSE_HEA5 ]());
2581
- }
2582
- return theHeaders;
2318
+ return false;
2583
2319
  }
2584
2320
 
2585
2321
  var UInt32Mask = 0x100000000;
@@ -3235,6 +2971,7 @@
3235
2971
  configHandler = null;
3236
2972
  }
3237
2973
  };
2974
+ objDefine(handler, "toJSON", { v: function () { return "WatcherHandler" + (handler.fn ? "" : "[X]"); } });
3238
2975
  state.use(handler, configHandler);
3239
2976
  return handler;
3240
2977
  }
@@ -3269,161 +3006,388 @@
3269
3006
  if (!isUndefined(allowUpdate)) {
3270
3007
  theState.upd = allowUpdate;
3271
3008
  }
3272
- configHandler(details);
3009
+ configHandler(details);
3010
+ }
3011
+ finally {
3012
+ theState.upd = prevUpd;
3013
+ }
3014
+ });
3015
+ }
3016
+ function _ref(target, name) {
3017
+ var _a;
3018
+ return _setDynamicPropertyState(theState, target, name, (_a = {}, _a[0 ] = true, _a))[name];
3019
+ }
3020
+ function _rdOnly(target, name) {
3021
+ var _a;
3022
+ return _setDynamicPropertyState(theState, target, name, (_a = {}, _a[1 ] = true, _a))[name];
3023
+ }
3024
+ function _blkPropValue(target, name) {
3025
+ var _a;
3026
+ return _setDynamicPropertyState(theState, target, name, (_a = {}, _a[2 ] = true, _a))[name];
3027
+ }
3028
+ function _applyDefaults(theConfig, defaultValues) {
3029
+ if (defaultValues) {
3030
+ objForEachKey(defaultValues, function (name, value) {
3031
+ _applyDefaultValue(cfgHandler, theConfig, name, value);
3032
+ });
3033
+ }
3034
+ return theConfig;
3035
+ }
3036
+ var cfgHandler = (_a = {
3037
+ uid: null,
3038
+ cfg: newTarget
3039
+ },
3040
+ _a[_DYN_LOGGER ] = logger,
3041
+ _a[_DYN_NOTIFY ] = _notifyWatchers,
3042
+ _a.set = _setValue,
3043
+ _a[_DYN_SET_DF ] = _applyDefaults,
3044
+ _a[_DYN_WATCH ] = _watch,
3045
+ _a.ref = _ref,
3046
+ _a[_DYN_RD_ONLY ] = _rdOnly,
3047
+ _a[_DYN_BLK_VAL ] = _blkPropValue,
3048
+ _a._block = _block,
3049
+ _a);
3050
+ objDefine(cfgHandler, "uid", {
3051
+ c: false,
3052
+ e: false,
3053
+ w: false,
3054
+ v: uid
3055
+ });
3056
+ theState = _createState(cfgHandler);
3057
+ _makeDynamicObject(theState, newTarget, "config", "Creating");
3058
+ return cfgHandler;
3059
+ }
3060
+ function _logInvalidAccess(logger, message) {
3061
+ if (logger) {
3062
+ logger[_DYN_WARN_TO_CONSOLE ](message);
3063
+ logger[_DYN_THROW_INTERNAL ](2 , 108 , message);
3064
+ }
3065
+ else {
3066
+ throwInvalidAccess(message);
3067
+ }
3068
+ }
3069
+ function createDynamicConfig(config, defaultConfig, logger, inPlace) {
3070
+ var dynamicHandler = _createDynamicHandler(logger, config || {}, inPlace);
3071
+ if (defaultConfig) {
3072
+ dynamicHandler[_DYN_SET_DF ](dynamicHandler.cfg, defaultConfig);
3073
+ }
3074
+ return dynamicHandler;
3075
+ }
3076
+ function onConfigChange(config, configHandler, logger) {
3077
+ var handler = config[CFG_HANDLER_LINK] || config;
3078
+ if (handler.cfg && (handler.cfg === config || handler.cfg[CFG_HANDLER_LINK] === handler)) {
3079
+ return handler[_DYN_WATCH ](configHandler);
3080
+ }
3081
+ _logInvalidAccess(logger, STR_NOT_DYNAMIC_ERROR + dumpObj(config));
3082
+ return createDynamicConfig(config, null, logger)[_DYN_WATCH ](configHandler);
3083
+ }
3084
+
3085
+ function runTargetUnload(target, isAsync) {
3086
+ if (target && target[_DYN_UNLOAD ]) {
3087
+ return target[_DYN_UNLOAD ](isAsync);
3088
+ }
3089
+ }
3090
+ function doUnloadAll(targets, isAsync, done) {
3091
+ var result;
3092
+ if (!done) {
3093
+ result = createPromise(function (resolved) {
3094
+ done = resolved;
3095
+ });
3096
+ }
3097
+ if (targets && getLength(targets) > 0) {
3098
+ doAwaitResponse(runTargetUnload(targets[0], isAsync), function () {
3099
+ doUnloadAll(arrSlice(targets, 1), isAsync, done);
3100
+ });
3101
+ }
3102
+ else {
3103
+ done();
3104
+ }
3105
+ return result;
3106
+ }
3107
+
3108
+ var ChannelControllerPriority = 500;
3109
+ var DisabledPropertyName = "Microsoft_ApplicationInsights_BypassAjaxInstrumentation";
3110
+
3111
+ function _stringToBoolOrDefault(theValue, defaultValue, theConfig) {
3112
+ if (!theValue && isNullOrUndefined(theValue)) {
3113
+ return defaultValue;
3114
+ }
3115
+ if (isBoolean(theValue)) {
3116
+ return theValue;
3117
+ }
3118
+ return asString(theValue)[_DYN_TO_LOWER_CASE ]() === "true";
3119
+ }
3120
+ function cfgDfMerge(defaultValue) {
3121
+ return {
3122
+ mrg: true,
3123
+ v: defaultValue
3124
+ };
3125
+ }
3126
+ function cfgDfSet(setter, defaultValue) {
3127
+ return {
3128
+ set: setter,
3129
+ v: defaultValue
3130
+ };
3131
+ }
3132
+ function cfgDfValidate(validator, defaultValue, fallBackName) {
3133
+ return {
3134
+ fb: fallBackName,
3135
+ isVal: validator,
3136
+ v: defaultValue
3137
+ };
3138
+ }
3139
+ function cfgDfBoolean(defaultValue, fallBackName) {
3140
+ return {
3141
+ fb: fallBackName,
3142
+ set: _stringToBoolOrDefault,
3143
+ v: !!defaultValue
3144
+ };
3145
+ }
3146
+ function cfgDfFunc(defaultValue) {
3147
+ return {
3148
+ isVal: isFunction,
3149
+ v: defaultValue || null
3150
+ };
3151
+ }
3152
+ function cfgDfString(defaultValue) {
3153
+ return {
3154
+ isVal: isString,
3155
+ v: asString(defaultValue || STR_EMPTY$1)
3156
+ };
3157
+ }
3158
+ function cfgDfBlockPropValue(defaultValue) {
3159
+ var _a;
3160
+ return _a = {},
3161
+ _a[_DYN_BLK_VAL ] = true,
3162
+ _a.v = defaultValue,
3163
+ _a;
3164
+ }
3165
+
3166
+ var listenerFuncs = [STR_EVENTS_SENT, STR_EVENTS_DISCARDED, STR_EVENTS_SEND_REQUEST, STR_PERF_EVENT];
3167
+ var _aiNamespace = null;
3168
+ var _debugListener;
3169
+ function _listenerProxyFunc(name, config) {
3170
+ return function () {
3171
+ var args = arguments;
3172
+ var dbgExt = getDebugExt(config);
3173
+ if (dbgExt) {
3174
+ var listener = dbgExt.listener;
3175
+ if (listener && listener[name]) {
3176
+ listener[name][_DYN_APPLY ](listener, args);
3177
+ }
3178
+ }
3179
+ };
3180
+ }
3181
+ function _getExtensionNamespace() {
3182
+ var target = getInst("Microsoft");
3183
+ if (target) {
3184
+ _aiNamespace = target["ApplicationInsights"];
3185
+ }
3186
+ return _aiNamespace;
3187
+ }
3188
+ function getDebugExt(config) {
3189
+ var ns = _aiNamespace;
3190
+ if (!ns && config.disableDbgExt !== true) {
3191
+ ns = _aiNamespace || _getExtensionNamespace();
3192
+ }
3193
+ return ns ? ns["ChromeDbgExt"] : null;
3194
+ }
3195
+ function getDebugListener(config) {
3196
+ if (!_debugListener) {
3197
+ _debugListener = {};
3198
+ for (var lp = 0; lp < listenerFuncs[_DYN_LENGTH ]; lp++) {
3199
+ _debugListener[listenerFuncs[lp]] = _listenerProxyFunc(listenerFuncs[lp], config);
3200
+ }
3201
+ }
3202
+ return _debugListener;
3203
+ }
3204
+
3205
+ var _a$3;
3206
+ var STR_WARN_TO_CONSOLE = "warnToConsole";
3207
+ var AiNonUserActionablePrefix = "AI (Internal): ";
3208
+ var AiUserActionablePrefix = "AI: ";
3209
+ var AIInternalMessagePrefix = "AITR_";
3210
+ var defaultValues$2 = {
3211
+ loggingLevelConsole: 0,
3212
+ loggingLevelTelemetry: 1,
3213
+ maxMessageLimit: 25,
3214
+ enableDebug: false
3215
+ };
3216
+ var _logFuncs = (_a$3 = {},
3217
+ _a$3[0 ] = null,
3218
+ _a$3[1 ] = "errorToConsole",
3219
+ _a$3[2 ] = STR_WARN_TO_CONSOLE,
3220
+ _a$3[3 ] = "debugToConsole",
3221
+ _a$3);
3222
+ function _sanitizeDiagnosticText(text) {
3223
+ if (text) {
3224
+ return "\"" + text[_DYN_REPLACE ](/\"/g, STR_EMPTY$1) + "\"";
3225
+ }
3226
+ return STR_EMPTY$1;
3227
+ }
3228
+ function _logToConsole(func, message) {
3229
+ var theConsole = getConsole();
3230
+ if (!!theConsole) {
3231
+ var logFunc = "log";
3232
+ if (theConsole[func]) {
3233
+ logFunc = func;
3234
+ }
3235
+ if (isFunction(theConsole[logFunc])) {
3236
+ theConsole[logFunc](message);
3237
+ }
3238
+ }
3239
+ }
3240
+ var _InternalLogMessage = /** @class */ (function () {
3241
+ function _InternalLogMessage(msgId, msg, isUserAct, properties) {
3242
+ if (isUserAct === void 0) { isUserAct = false; }
3243
+ var _self = this;
3244
+ _self[_DYN_MESSAGE_ID ] = msgId;
3245
+ _self[_DYN_MESSAGE ] =
3246
+ (isUserAct ? AiUserActionablePrefix : AiNonUserActionablePrefix) +
3247
+ msgId;
3248
+ var strProps = STR_EMPTY$1;
3249
+ if (hasJSON()) {
3250
+ strProps = getJSON().stringify(properties);
3251
+ }
3252
+ var diagnosticText = (msg ? " message:" + _sanitizeDiagnosticText(msg) : STR_EMPTY$1) +
3253
+ (properties ? " props:" + _sanitizeDiagnosticText(strProps) : STR_EMPTY$1);
3254
+ _self[_DYN_MESSAGE ] += diagnosticText;
3255
+ }
3256
+ _InternalLogMessage.dataType = "MessageData";
3257
+ return _InternalLogMessage;
3258
+ }());
3259
+ function safeGetLogger(core, config) {
3260
+ return (core || {})[_DYN_LOGGER ] || new DiagnosticLogger(config);
3261
+ }
3262
+ var DiagnosticLogger = /** @class */ (function () {
3263
+ function DiagnosticLogger(config) {
3264
+ this.identifier = "DiagnosticLogger";
3265
+ this.queue = [];
3266
+ var _messageCount = 0;
3267
+ var _messageLogged = {};
3268
+ var _loggingLevelConsole;
3269
+ var _loggingLevelTelemetry;
3270
+ var _maxInternalMessageLimit;
3271
+ var _enableDebug;
3272
+ var _unloadHandler;
3273
+ dynamicProto(DiagnosticLogger, this, function (_self) {
3274
+ _unloadHandler = _setDefaultsFromConfig(config || {});
3275
+ _self.consoleLoggingLevel = function () { return _loggingLevelConsole; };
3276
+ _self[_DYN_THROW_INTERNAL ] = function (severity, msgId, msg, properties, isUserAct) {
3277
+ if (isUserAct === void 0) { isUserAct = false; }
3278
+ var message = new _InternalLogMessage(msgId, msg, isUserAct, properties);
3279
+ if (_enableDebug) {
3280
+ throw dumpObj(message);
3281
+ }
3282
+ else {
3283
+ var logFunc = _logFuncs[severity] || STR_WARN_TO_CONSOLE;
3284
+ if (!isUndefined(message[_DYN_MESSAGE ])) {
3285
+ if (isUserAct) {
3286
+ var messageKey = +message[_DYN_MESSAGE_ID ];
3287
+ if (!_messageLogged[messageKey] && _loggingLevelConsole >= severity) {
3288
+ _self[logFunc](message[_DYN_MESSAGE ]);
3289
+ _messageLogged[messageKey] = true;
3290
+ }
3291
+ }
3292
+ else {
3293
+ if (_loggingLevelConsole >= severity) {
3294
+ _self[logFunc](message[_DYN_MESSAGE ]);
3295
+ }
3296
+ }
3297
+ _logInternalMessage(severity, message);
3298
+ }
3299
+ else {
3300
+ _debugExtMsg("throw" + (severity === 1 ? "Critical" : "Warning"), message);
3301
+ }
3302
+ }
3303
+ };
3304
+ _self.debugToConsole = function (message) {
3305
+ _logToConsole("debug", message);
3306
+ _debugExtMsg("warning", message);
3307
+ };
3308
+ _self[_DYN_WARN_TO_CONSOLE ] = function (message) {
3309
+ _logToConsole("warn", message);
3310
+ _debugExtMsg("warning", message);
3311
+ };
3312
+ _self.errorToConsole = function (message) {
3313
+ _logToConsole("error", message);
3314
+ _debugExtMsg("error", message);
3315
+ };
3316
+ _self.resetInternalMessageCount = function () {
3317
+ _messageCount = 0;
3318
+ _messageLogged = {};
3319
+ };
3320
+ _self[_DYN_LOG_INTERNAL_MESSAGE ] = _logInternalMessage;
3321
+ _self[_DYN_UNLOAD ] = function (isAsync) {
3322
+ _unloadHandler && _unloadHandler.rm();
3323
+ _unloadHandler = null;
3324
+ };
3325
+ function _logInternalMessage(severity, message) {
3326
+ if (_areInternalMessagesThrottled()) {
3327
+ return;
3328
+ }
3329
+ var logMessage = true;
3330
+ var messageKey = AIInternalMessagePrefix + message[_DYN_MESSAGE_ID ];
3331
+ if (_messageLogged[messageKey]) {
3332
+ logMessage = false;
3333
+ }
3334
+ else {
3335
+ _messageLogged[messageKey] = true;
3336
+ }
3337
+ if (logMessage) {
3338
+ if (severity <= _loggingLevelTelemetry) {
3339
+ _self.queue[_DYN_PUSH ](message);
3340
+ _messageCount++;
3341
+ _debugExtMsg((severity === 1 ? "error" : "warn"), message);
3342
+ }
3343
+ if (_messageCount === _maxInternalMessageLimit) {
3344
+ var throttleLimitMessage = "Internal events throttle limit per PageView reached for this app.";
3345
+ var throttleMessage = new _InternalLogMessage(23 , throttleLimitMessage, false);
3346
+ _self.queue[_DYN_PUSH ](throttleMessage);
3347
+ if (severity === 1 ) {
3348
+ _self.errorToConsole(throttleLimitMessage);
3349
+ }
3350
+ else {
3351
+ _self[_DYN_WARN_TO_CONSOLE ](throttleLimitMessage);
3352
+ }
3353
+ }
3354
+ }
3273
3355
  }
3274
- finally {
3275
- theState.upd = prevUpd;
3356
+ function _setDefaultsFromConfig(config) {
3357
+ return onConfigChange(createDynamicConfig(config, defaultValues$2, _self).cfg, function (details) {
3358
+ var config = details.cfg;
3359
+ _loggingLevelConsole = config[_DYN_LOGGING_LEVEL_CONSOL4 ];
3360
+ _loggingLevelTelemetry = config.loggingLevelTelemetry;
3361
+ _maxInternalMessageLimit = config.maxMessageLimit;
3362
+ _enableDebug = config.enableDebug;
3363
+ });
3364
+ }
3365
+ function _areInternalMessagesThrottled() {
3366
+ return _messageCount >= _maxInternalMessageLimit;
3367
+ }
3368
+ function _debugExtMsg(name, data) {
3369
+ var dbgExt = getDebugExt(config || {});
3370
+ if (dbgExt && dbgExt[_DYN_DIAG_LOG ]) {
3371
+ dbgExt[_DYN_DIAG_LOG ](name, data);
3372
+ }
3276
3373
  }
3277
3374
  });
3278
3375
  }
3279
- function _ref(target, name) {
3280
- var _a;
3281
- return _setDynamicPropertyState(theState, target, name, (_a = {}, _a[0 ] = true, _a))[name];
3282
- }
3283
- function _rdOnly(target, name) {
3284
- var _a;
3285
- return _setDynamicPropertyState(theState, target, name, (_a = {}, _a[1 ] = true, _a))[name];
3286
- }
3287
- function _blkPropValue(target, name) {
3288
- var _a;
3289
- return _setDynamicPropertyState(theState, target, name, (_a = {}, _a[2 ] = true, _a))[name];
3290
- }
3291
- function _applyDefaults(theConfig, defaultValues) {
3292
- if (defaultValues) {
3293
- objForEachKey(defaultValues, function (name, value) {
3294
- _applyDefaultValue(cfgHandler, theConfig, name, value);
3295
- });
3296
- }
3297
- return theConfig;
3298
- }
3299
- var cfgHandler = (_a = {
3300
- uid: null,
3301
- cfg: newTarget
3302
- },
3303
- _a[_DYN_LOGGER ] = logger,
3304
- _a[_DYN_NOTIFY ] = _notifyWatchers,
3305
- _a.set = _setValue,
3306
- _a[_DYN_SET_DF ] = _applyDefaults,
3307
- _a[_DYN_WATCH ] = _watch,
3308
- _a.ref = _ref,
3309
- _a[_DYN_RD_ONLY ] = _rdOnly,
3310
- _a[_DYN_BLK_VAL ] = _blkPropValue,
3311
- _a._block = _block,
3312
- _a);
3313
- objDefine(cfgHandler, "uid", {
3314
- c: false,
3315
- e: false,
3316
- w: false,
3317
- v: uid
3318
- });
3319
- theState = _createState(cfgHandler);
3320
- _makeDynamicObject(theState, newTarget, "config", "Creating");
3321
- return cfgHandler;
3322
- }
3323
- function _logInvalidAccess(logger, message) {
3324
- if (logger) {
3325
- logger[_DYN_WARN_TO_CONSOLE ](message);
3326
- logger[_DYN_THROW_INTERNAL ](2 , 108 , message);
3327
- }
3328
- else {
3329
- throwInvalidAccess(message);
3330
- }
3331
- }
3332
- function createDynamicConfig(config, defaultConfig, logger, inPlace) {
3333
- var dynamicHandler = _createDynamicHandler(logger, config || {}, inPlace);
3334
- if (defaultConfig) {
3335
- dynamicHandler[_DYN_SET_DF ](dynamicHandler.cfg, defaultConfig);
3336
- }
3337
- return dynamicHandler;
3338
- }
3339
- function onConfigChange(config, configHandler, logger) {
3340
- var handler = config[CFG_HANDLER_LINK] || config;
3341
- if (handler.cfg && (handler.cfg === config || handler.cfg[CFG_HANDLER_LINK] === handler)) {
3342
- return handler[_DYN_WATCH ](configHandler);
3343
- }
3344
- _logInvalidAccess(logger, STR_NOT_DYNAMIC_ERROR + dumpObj(config));
3345
- return createDynamicConfig(config, null, logger)[_DYN_WATCH ](configHandler);
3346
- }
3347
-
3348
- function runTargetUnload(target, isAsync) {
3349
- if (target && target[_DYN_UNLOAD ]) {
3350
- return target[_DYN_UNLOAD ](isAsync);
3351
- }
3352
- }
3353
- function doUnloadAll(targets, isAsync, done) {
3354
- var result;
3355
- if (!done) {
3356
- result = createPromise(function (resolved) {
3357
- done = resolved;
3358
- });
3359
- }
3360
- if (targets && getLength(targets) > 0) {
3361
- doAwaitResponse(runTargetUnload(targets[0], isAsync), function () {
3362
- doUnloadAll(arrSlice(targets, 1), isAsync, done);
3363
- });
3364
- }
3365
- else {
3366
- done();
3367
- }
3368
- return result;
3369
- }
3370
-
3371
- var ChannelControllerPriority = 500;
3372
- var DisabledPropertyName = "Microsoft_ApplicationInsights_BypassAjaxInstrumentation";
3373
-
3374
- function _stringToBoolOrDefault(theValue, defaultValue, theConfig) {
3375
- if (!theValue && isNullOrUndefined(theValue)) {
3376
- return defaultValue;
3377
- }
3378
- if (isBoolean(theValue)) {
3379
- return theValue;
3380
- }
3381
- return asString(theValue)[_DYN_TO_LOWER_CASE ]() === "true";
3382
- }
3383
- function cfgDfMerge(defaultValue) {
3384
- return {
3385
- mrg: true,
3386
- v: defaultValue
3387
- };
3388
- }
3389
- function cfgDfSet(setter, defaultValue) {
3390
- return {
3391
- set: setter,
3392
- v: defaultValue
3393
- };
3394
- }
3395
- function cfgDfValidate(validator, defaultValue, fallBackName) {
3396
- return {
3397
- fb: fallBackName,
3398
- isVal: validator,
3399
- v: defaultValue
3400
- };
3401
- }
3402
- function cfgDfBoolean(defaultValue, fallBackName) {
3403
- return {
3404
- fb: fallBackName,
3405
- set: _stringToBoolOrDefault,
3406
- v: !!defaultValue
3407
- };
3376
+ DiagnosticLogger.__ieDyn=1;
3377
+ return DiagnosticLogger;
3378
+ }());
3379
+ function _getLogger(logger) {
3380
+ return (logger || new DiagnosticLogger());
3408
3381
  }
3409
- function cfgDfFunc(defaultValue) {
3410
- return {
3411
- isVal: isFunction,
3412
- v: defaultValue || null
3413
- };
3382
+ function _throwInternal(logger, severity, msgId, msg, properties, isUserAct) {
3383
+ if (isUserAct === void 0) { isUserAct = false; }
3384
+ _getLogger(logger)[_DYN_THROW_INTERNAL ](severity, msgId, msg, properties, isUserAct);
3414
3385
  }
3415
- function cfgDfString(defaultValue) {
3416
- return {
3417
- isVal: isString,
3418
- v: asString(defaultValue || STR_EMPTY$1)
3419
- };
3386
+ function _warnToConsole(logger, message) {
3387
+ _getLogger(logger)[_DYN_WARN_TO_CONSOLE ](message);
3420
3388
  }
3421
- function cfgDfBlockPropValue(defaultValue) {
3422
- var _a;
3423
- return _a = {},
3424
- _a[_DYN_BLK_VAL ] = true,
3425
- _a.v = defaultValue,
3426
- _a;
3389
+ function _logInternalMessage(logger, severity, message) {
3390
+ _getLogger(logger)[_DYN_LOG_INTERNAL_MESSAGE ](severity, message);
3427
3391
  }
3428
3392
 
3429
3393
  var _a$2, _b;
@@ -3725,18 +3689,26 @@
3725
3689
  var defaultValues$1 = {
3726
3690
  perfEvtsSendAll: false
3727
3691
  };
3728
- function _runListeners(listeners, name, isAsync, callback) {
3692
+ function _runScheduledListeners(asyncNotifications) {
3693
+ asyncNotifications.h = null;
3694
+ var callbacks = asyncNotifications.cb;
3695
+ asyncNotifications.cb = [];
3696
+ arrForEach(callbacks, function (cb) {
3697
+ safe(cb.fn, [cb.arg]);
3698
+ });
3699
+ }
3700
+ function _runListeners(listeners, name, asyncNotifications, callback) {
3729
3701
  arrForEach(listeners, function (listener) {
3730
3702
  if (listener && listener[name]) {
3731
- if (isAsync) {
3732
- scheduleTimeout(function () { return callback(listener); }, 0);
3703
+ if (asyncNotifications) {
3704
+ asyncNotifications.cb[_DYN_PUSH ]({
3705
+ fn: callback,
3706
+ arg: listener
3707
+ });
3708
+ asyncNotifications.h = asyncNotifications.h || scheduleTimeout(_runScheduledListeners, 0, asyncNotifications);
3733
3709
  }
3734
3710
  else {
3735
- try {
3736
- callback(listener);
3737
- }
3738
- catch (e) {
3739
- }
3711
+ safe(callback, [listener]);
3740
3712
  }
3741
3713
  }
3742
3714
  });
@@ -3747,6 +3719,10 @@
3747
3719
  var perfEvtsSendAll;
3748
3720
  var unloadHandler;
3749
3721
  var _listeners = [];
3722
+ var _asyncNotifications = {
3723
+ h: null,
3724
+ cb: []
3725
+ };
3750
3726
  var cfgHandler = createDynamicConfig(config, defaultValues$1);
3751
3727
  unloadHandler = cfgHandler[_DYN_WATCH ](function (details) {
3752
3728
  perfEvtsSendAll = !!details.cfg.perfEvtsSendAll;
@@ -3758,7 +3734,7 @@
3758
3734
  _self[_DYN_ADD_NOTIFICATION_LIS1 ] = function (listener) {
3759
3735
  _listeners[_DYN_PUSH ](listener);
3760
3736
  };
3761
- _self[_DYN_REMOVE_NOTIFICATION_2 ] = function (listener) {
3737
+ _self[_DYN_REMOVE_NOTIFICATION_0 ] = function (listener) {
3762
3738
  var index = arrIndexOf(_listeners, listener);
3763
3739
  while (index > -1) {
3764
3740
  _listeners[_DYN_SPLICE ](index, 1);
@@ -3766,24 +3742,24 @@
3766
3742
  }
3767
3743
  };
3768
3744
  _self[STR_EVENTS_SENT ] = function (events) {
3769
- _runListeners(_listeners, STR_EVENTS_SENT, true, function (listener) {
3745
+ _runListeners(_listeners, STR_EVENTS_SENT, _asyncNotifications, function (listener) {
3770
3746
  listener[STR_EVENTS_SENT ](events);
3771
3747
  });
3772
3748
  };
3773
3749
  _self[STR_EVENTS_DISCARDED ] = function (events, reason) {
3774
- _runListeners(_listeners, STR_EVENTS_DISCARDED, true, function (listener) {
3750
+ _runListeners(_listeners, STR_EVENTS_DISCARDED, _asyncNotifications, function (listener) {
3775
3751
  listener[STR_EVENTS_DISCARDED ](events, reason);
3776
3752
  });
3777
3753
  };
3778
3754
  _self[STR_EVENTS_SEND_REQUEST ] = function (sendReason, isAsync) {
3779
- _runListeners(_listeners, STR_EVENTS_SEND_REQUEST, isAsync, function (listener) {
3755
+ _runListeners(_listeners, STR_EVENTS_SEND_REQUEST, isAsync ? _asyncNotifications : null, function (listener) {
3780
3756
  listener[STR_EVENTS_SEND_REQUEST ](sendReason, isAsync);
3781
3757
  });
3782
3758
  };
3783
3759
  _self[STR_PERF_EVENT ] = function (perfEvent) {
3784
3760
  if (perfEvent) {
3785
3761
  if (perfEvtsSendAll || !perfEvent[_DYN_IS_CHILD_EVT ]()) {
3786
- _runListeners(_listeners, STR_PERF_EVENT, false, function (listener) {
3762
+ _runListeners(_listeners, STR_PERF_EVENT, null, function (listener) {
3787
3763
  if (perfEvent[_DYN_IS_ASYNC ]) {
3788
3764
  scheduleTimeout(function () { return listener[STR_PERF_EVENT ](perfEvent); }, 0);
3789
3765
  }
@@ -3796,14 +3772,14 @@
3796
3772
  };
3797
3773
  _self[STR_OFFLINE_STORE ] = function (events) {
3798
3774
  if (events && events[_DYN_LENGTH ]) {
3799
- _runListeners(_listeners, STR_OFFLINE_STORE, true, function (listener) {
3775
+ _runListeners(_listeners, STR_OFFLINE_STORE, _asyncNotifications, function (listener) {
3800
3776
  listener[STR_OFFLINE_STORE ](events);
3801
3777
  });
3802
3778
  }
3803
3779
  };
3804
3780
  _self[STR_OFFLINE_SENT ] = function (batch) {
3805
3781
  if (batch && batch[_DYN_DATA ]) {
3806
- _runListeners(_listeners, STR_OFFLINE_SENT, true, function (listener) {
3782
+ _runListeners(_listeners, STR_OFFLINE_SENT, _asyncNotifications, function (listener) {
3807
3783
  listener[STR_OFFLINE_SENT ](batch);
3808
3784
  });
3809
3785
  }
@@ -3811,7 +3787,7 @@
3811
3787
  _self[STR_OFFLINE_DROP ] = function (cnt, reason) {
3812
3788
  if (cnt > 0) {
3813
3789
  var rn_1 = reason || 0;
3814
- _runListeners(_listeners, STR_OFFLINE_DROP, true, function (listener) {
3790
+ _runListeners(_listeners, STR_OFFLINE_DROP, _asyncNotifications, function (listener) {
3815
3791
  listener[STR_OFFLINE_DROP ](cnt, rn_1);
3816
3792
  });
3817
3793
  }
@@ -3821,9 +3797,12 @@
3821
3797
  unloadHandler && unloadHandler.rm();
3822
3798
  unloadHandler = null;
3823
3799
  _listeners = [];
3800
+ _asyncNotifications.h && _asyncNotifications.h[_DYN_CANCEL ]();
3801
+ _asyncNotifications.h = null;
3802
+ _asyncNotifications.cb = [];
3824
3803
  };
3825
3804
  var waiting;
3826
- _runListeners(_listeners, "unload", false, function (listener) {
3805
+ _runListeners(_listeners, "unload", null, function (listener) {
3827
3806
  var asyncUnload = listener[_DYN_UNLOAD ](isAsync);
3828
3807
  if (asyncUnload) {
3829
3808
  if (!waiting) {
@@ -4637,6 +4616,12 @@
4637
4616
  };
4638
4617
  }
4639
4618
 
4619
+ var _maxHooks;
4620
+ var _hookAddMonitor;
4621
+ function _testHookMaxUnloadHooksCb(maxHooks, addMonitor) {
4622
+ _maxHooks = maxHooks;
4623
+ _hookAddMonitor = addMonitor;
4624
+ }
4640
4625
  function createUnloadHookContainer() {
4641
4626
  var _hooks = [];
4642
4627
  function _doUnload(logger) {
@@ -4650,10 +4635,16 @@
4650
4635
  _throwInternal(logger, 2 , 73 , "Unloading:" + dumpObj(e));
4651
4636
  }
4652
4637
  });
4638
+ if (_maxHooks && oldHooks[_DYN_LENGTH ] > _maxHooks) {
4639
+ _hookAddMonitor ? _hookAddMonitor("doUnload", oldHooks) : _throwInternal(null, 1 , 48 , "Max unload hooks exceeded. An excessive number of unload hooks has been detected.");
4640
+ }
4653
4641
  }
4654
4642
  function _addHook(hooks) {
4655
4643
  if (hooks) {
4656
4644
  arrAppend(_hooks, hooks);
4645
+ if (_maxHooks && _hooks[_DYN_LENGTH ] > _maxHooks) {
4646
+ _hookAddMonitor ? _hookAddMonitor("Add", _hooks) : _throwInternal(null, 1 , 48 , "Max unload hooks exceeded. An excessive number of unload hooks has been detected.");
4647
+ }
4657
4648
  }
4658
4649
  }
4659
4650
  return {
@@ -4781,7 +4772,7 @@
4781
4772
  function _setDefaults(config, core, pluginChain) {
4782
4773
  createDynamicConfig(config, defaultValues, safeGetLogger(core));
4783
4774
  if (!pluginChain && core) {
4784
- pluginChain = core[_DYN_GET_PROCESS_TEL_CONT0 ]()[_DYN_GET_NEXT ]();
4775
+ pluginChain = core[_DYN_GET_PROCESS_TEL_CONT2 ]()[_DYN_GET_NEXT ]();
4785
4776
  }
4786
4777
  var nextPlugin = _nextPlugin;
4787
4778
  if (_nextPlugin && _nextPlugin[strGetPlugin]) {
@@ -4985,6 +4976,27 @@
4985
4976
  };
4986
4977
  });
4987
4978
  }
4979
+ function _initDebugListener(configHandler, unloadContainer, notificationManager, debugListener) {
4980
+ unloadContainer.add(configHandler[_DYN_WATCH ](function (details) {
4981
+ var disableDbgExt = details.cfg.disableDbgExt;
4982
+ if (disableDbgExt === true && debugListener) {
4983
+ notificationManager[_DYN_REMOVE_NOTIFICATION_0 ](debugListener);
4984
+ debugListener = null;
4985
+ }
4986
+ if (notificationManager && !debugListener && disableDbgExt !== true) {
4987
+ debugListener = getDebugListener(details.cfg);
4988
+ notificationManager[_DYN_ADD_NOTIFICATION_LIS1 ](debugListener);
4989
+ }
4990
+ }));
4991
+ return debugListener;
4992
+ }
4993
+ function _createUnloadHook(unloadHook) {
4994
+ return objDefine({
4995
+ rm: function () {
4996
+ unloadHook.rm();
4997
+ }
4998
+ }, "toJSON", { v: function () { return "aicore::onCfgChange<" + JSON.stringify(unloadHook) + ">"; } });
4999
+ }
4988
5000
  var AppInsightsCore = /** @class */ (function () {
4989
5001
  function AppInsightsCore() {
4990
5002
  var _configHandler;
@@ -5041,7 +5053,7 @@
5041
5053
  }
5042
5054
  }));
5043
5055
  _notificationManager = notificationManager;
5044
- _initDebugListener();
5056
+ _debugListener = _initDebugListener(_configHandler, _hookContainer, _notificationManager && _self[_DYN_GET_NOTIFY_MGR ](), _debugListener);
5045
5057
  _initPerfManager();
5046
5058
  _self[_DYN_LOGGER ] = logger;
5047
5059
  var cfgExtensions = config[STR_EXTENSIONS ];
@@ -5094,7 +5106,7 @@
5094
5106
  }
5095
5107
  }, function () { return ({ item: telemetryItem }); }, !(telemetryItem.sync));
5096
5108
  };
5097
- _self[_DYN_GET_PROCESS_TEL_CONT0 ] = _createTelCtx;
5109
+ _self[_DYN_GET_PROCESS_TEL_CONT2 ] = _createTelCtx;
5098
5110
  _self[_DYN_GET_NOTIFY_MGR ] = function () {
5099
5111
  if (!_notificationManager) {
5100
5112
  _notificationManager = new NotificationManager(_configHandler.cfg);
@@ -5103,11 +5115,11 @@
5103
5115
  return _notificationManager;
5104
5116
  };
5105
5117
  _self[_DYN_ADD_NOTIFICATION_LIS1 ] = function (listener) {
5106
- _self[_DYN_GET_NOTIFY_MGR ]()[_DYN_ADD_NOTIFICATION_LIS1 ](listener);
5118
+ _self.getNotifyMgr()[_DYN_ADD_NOTIFICATION_LIS1 ](listener);
5107
5119
  };
5108
- _self[_DYN_REMOVE_NOTIFICATION_2 ] = function (listener) {
5120
+ _self[_DYN_REMOVE_NOTIFICATION_0 ] = function (listener) {
5109
5121
  if (_notificationManager) {
5110
- _notificationManager[_DYN_REMOVE_NOTIFICATION_2 ](listener);
5122
+ _notificationManager[_DYN_REMOVE_NOTIFICATION_0 ](listener);
5111
5123
  }
5112
5124
  };
5113
5125
  _self.getCookieMgr = function () {
@@ -5123,16 +5135,6 @@
5123
5135
  }
5124
5136
  };
5125
5137
  _self[STR_GET_PERF_MGR ] = function () {
5126
- if (!_perfManager && !_cfgPerfManager) {
5127
- _addUnloadHook(_configHandler[_DYN_WATCH ](function (details) {
5128
- if (details.cfg.enablePerfMgr) {
5129
- var createPerfMgr = details.cfg[STR_CREATE_PERF_MGR ];
5130
- if (isFunction(createPerfMgr)) {
5131
- _cfgPerfManager = createPerfMgr(_self, _self[_DYN_GET_NOTIFY_MGR ]());
5132
- }
5133
- }
5134
- }));
5135
- }
5136
5138
  return _perfManager || _cfgPerfManager || getGblPerfMgr();
5137
5139
  };
5138
5140
  _self.setPerfMgr = function (perfMgr) {
@@ -5327,11 +5329,7 @@
5327
5329
  else {
5328
5330
  unloadHook = onConfigChange(_configHandler.cfg, handler, _self[_DYN_LOGGER ]);
5329
5331
  }
5330
- return {
5331
- rm: function () {
5332
- unloadHook.rm();
5333
- }
5334
- };
5332
+ return _createUnloadHook(unloadHook);
5335
5333
  };
5336
5334
  _self.getWParam = function () {
5337
5335
  return (hasDocument() || !!_configHandler.cfg.enableWParam) ? 0 : -1;
@@ -5431,6 +5429,8 @@
5431
5429
  _pluginVersionString = null;
5432
5430
  _pluginVersionStringArr = null;
5433
5431
  _forceStopInternalLogPoller = false;
5432
+ _internalLogPoller = null;
5433
+ _internalLogPollerListening = false;
5434
5434
  }
5435
5435
  function _createTelCtx() {
5436
5436
  var theCtx = createProcessTelemetryContext(_getPluginChain(), _configHandler.cfg, _self);
@@ -5625,28 +5625,27 @@
5625
5625
  doCallback();
5626
5626
  return true;
5627
5627
  }
5628
- function _initDebugListener() {
5629
- !_notificationManager && _self[_DYN_GET_NOTIFY_MGR ]();
5630
- _addUnloadHook(_configHandler[_DYN_WATCH ](function (details) {
5631
- var disableDbgExt = details.cfg.disableDbgExt;
5632
- if (disableDbgExt === true && _debugListener) {
5633
- _notificationManager[_DYN_REMOVE_NOTIFICATION_2 ](_debugListener);
5634
- _debugListener = null;
5635
- }
5636
- if (_notificationManager && !_debugListener && disableDbgExt !== true) {
5637
- _debugListener = getDebugListener(details.cfg);
5638
- _notificationManager[_DYN_ADD_NOTIFICATION_LIS1 ](_debugListener);
5639
- }
5640
- }));
5641
- }
5642
5628
  function _initPerfManager() {
5629
+ var prevCfgPerfMgr;
5643
5630
  _addUnloadHook(_configHandler[_DYN_WATCH ](function (details) {
5644
5631
  var enablePerfMgr = details.cfg.enablePerfMgr;
5645
- if (!enablePerfMgr && _cfgPerfManager) {
5646
- _cfgPerfManager = null;
5647
- }
5648
5632
  if (enablePerfMgr) {
5649
- getSetValue(details.cfg, STR_CREATE_PERF_MGR, _createPerfManager);
5633
+ var createPerfMgr = details.cfg[STR_CREATE_PERF_MGR ];
5634
+ if (prevCfgPerfMgr !== createPerfMgr) {
5635
+ if (!createPerfMgr) {
5636
+ createPerfMgr = _createPerfManager;
5637
+ }
5638
+ getSetValue(details.cfg, STR_CREATE_PERF_MGR, createPerfMgr);
5639
+ prevCfgPerfMgr = createPerfMgr;
5640
+ _cfgPerfManager = null;
5641
+ }
5642
+ if (!_perfManager && !_cfgPerfManager && isFunction(createPerfMgr)) {
5643
+ _cfgPerfManager = createPerfMgr(_self, _self[_DYN_GET_NOTIFY_MGR ]());
5644
+ }
5645
+ }
5646
+ else {
5647
+ _cfgPerfManager = null;
5648
+ prevCfgPerfMgr = null;
5650
5649
  }
5651
5650
  }));
5652
5651
  }
@@ -5682,6 +5681,24 @@
5682
5681
  return AppInsightsCore;
5683
5682
  }());
5684
5683
 
5684
+ function parseResponse(response, diagLog) {
5685
+ try {
5686
+ if (response && response !== "") {
5687
+ var result = getJSON().parse(response);
5688
+ if (result && result[_DYN_ITEMS_RECEIVED ] && result[_DYN_ITEMS_RECEIVED ] >= result.itemsAccepted &&
5689
+ result.itemsReceived - result.itemsAccepted === result.errors[_DYN_LENGTH ]) {
5690
+ return result;
5691
+ }
5692
+ }
5693
+ }
5694
+ catch (e) {
5695
+ _throwInternal(diagLog, 1 , 43 , "Cannot parse the response. " + (e[_DYN_NAME ] || dumpObj(e)), {
5696
+ response: response
5697
+ });
5698
+ }
5699
+ return null;
5700
+ }
5701
+
5685
5702
  var STR_EMPTY = "";
5686
5703
  var STR_NO_RESPONSE_BODY = "NoResponseBody";
5687
5704
  var _noResponseQs = "&" + STR_NO_RESPONSE_BODY + "=true";
@@ -6631,6 +6648,7 @@
6631
6648
  exports._appendHeader = _appendHeader;
6632
6649
  exports._getAllResponseHeaders = _getAllResponseHeaders;
6633
6650
  exports._logInternalMessage = _logInternalMessage;
6651
+ exports._testHookMaxUnloadHooksCb = _testHookMaxUnloadHooksCb;
6634
6652
  exports._throwInternal = _throwInternal;
6635
6653
  exports._warnToConsole = _warnToConsole;
6636
6654
  exports.addEventHandler = addEventHandler;