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