@microsoft/applicationinsights-core-js 3.1.1 → 3.1.3-nightly3.2403-11

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 +78 -75
  101. package/types/applicationinsights-core-js.d.ts +10 -1
  102. package/types/applicationinsights-core-js.namespaced.d.ts +14 -5
@@ -1,11 +1,11 @@
1
1
  /*!
2
- * Application Insights JavaScript SDK - Core, 3.1.1
2
+ * Application Insights JavaScript SDK - Core, 3.1.3-nightly3.2403-11
3
3
  * Copyright (c) Microsoft and contributors. All rights reserved.
4
4
  */
5
5
  (function (global, factory) {
6
6
  var undef = "undefined";
7
- var nsKey, key, nm, theExports = {}, modName = "es5_applicationinsights_core_js_3_1_1", msMod="__ms$mod__";
8
- var mods={}, modDetail=mods[modName]={}, ver="3.1.1";
7
+ var nsKey, key, nm, theExports = {}, modName = "es5_applicationinsights_core_js_3_1_3_nightly3_2403_11", msMod="__ms$mod__";
8
+ var mods={}, modDetail=mods[modName]={}, ver="3.1.3-nightly3.2403-11";
9
9
  var baseNs=global, nsKey="Microsoft", baseNs=baseNs[nsKey]=(baseNs[nsKey]||{});
10
10
  // Versioned namespace "Microsoft.ApplicationInsights3"
11
11
  var exportNs=baseNs, nsKey="ApplicationInsights3", exportNs=exportNs[nsKey]=(exportNs[nsKey]||{});
@@ -31,23 +31,16 @@ var MinChannelPriorty = 100;
31
31
  var UNDEF_VALUE = undefined;
32
32
  var NULL_VALUE = null;
33
33
  var EMPTY = "";
34
- var BOOLEAN = "boolean";
35
34
  var FUNCTION = "function";
36
- var NUMBER = "number";
37
35
  var OBJECT = "object";
38
36
  var PROTOTYPE = "prototype";
39
37
  var __PROTO__ = "__proto__";
40
- var STRING = "string";
41
38
  var UNDEFINED = "undefined";
42
39
  var CONSTRUCTOR = "constructor";
43
40
  var SYMBOL = "Symbol";
44
41
  var POLYFILL_TAG = "_polyfill";
45
- var INDEX_OF = "indexOf";
46
42
  var LENGTH = "length";
47
- var DONE = "done";
48
- var VALUE = "value";
49
43
  var NAME = "name";
50
- var SLICE = "slice";
51
44
  var CALL = "call";
52
45
  var TO_STRING = "toString";
53
46
  var ObjClass$1 = Object;
@@ -57,6 +50,7 @@ var StrProto = StrCls[PROTOTYPE];
57
50
  var MathCls = Math;
58
51
  var ArrCls = Array;
59
52
  var ArrProto = ArrCls[PROTOTYPE];
53
+ var ArrSlice = ArrProto["slice"];
60
54
 
61
55
  function safe(func, argArray) {
62
56
  try {
@@ -69,12 +63,13 @@ function safe(func, argArray) {
69
63
  }
70
64
  }
71
65
 
66
+ /*#__NO_SIDE_EFFECTS__*/
72
67
  function safeGet(cb, defValue) {
73
68
  var result = safe(cb);
74
69
  return result.e ? defValue : result.v;
75
70
  }
76
71
 
77
- var PRIMITIVE_TYPES = [STRING, NUMBER, BOOLEAN, UNDEFINED, "symbol", "bigint"];
72
+ var _primitiveTypes;
78
73
  /*#__NO_SIDE_EFFECTS__*/
79
74
  function _createIs(theType) {
80
75
  return function (value) {
@@ -114,9 +109,10 @@ function isDefined(arg) {
114
109
  }
115
110
  /*#__NO_SIDE_EFFECTS__*/
116
111
  function isPrimitiveType(theType) {
117
- return theType !== OBJECT && PRIMITIVE_TYPES.indexOf(theType) !== -1;
112
+ !_primitiveTypes && (_primitiveTypes = ["string", "number", "boolean", UNDEFINED, "symbol", "bigint"]);
113
+ return theType !== OBJECT && _primitiveTypes.indexOf(theType) !== -1;
118
114
  }
119
- var isString = ( /*#__PURE__*/_createIs(STRING));
115
+ var isString = ( /*#__PURE__*/_createIs("string"));
120
116
  var isFunction = ( /*#__PURE__*/_createIs(FUNCTION));
121
117
  /*#__NO_SIDE_EFFECTS__*/
122
118
  function isObject(value) {
@@ -127,8 +123,8 @@ function isObject(value) {
127
123
  }
128
124
  var isArray = ArrCls.isArray;
129
125
  var isDate = ( /*#__PURE__*/_createObjIs("Date"));
130
- var isNumber = ( /*#__PURE__*/_createIs(NUMBER));
131
- var isBoolean = ( /*#__PURE__*/_createIs(BOOLEAN));
126
+ var isNumber = ( /*#__PURE__*/_createIs("number"));
127
+ var isBoolean = ( /*#__PURE__*/_createIs("boolean"));
132
128
  var isError = ( /*#__PURE__*/_createObjIs("Error"));
133
129
  /*#__NO_SIDE_EFFECTS__*/
134
130
  function isPromiseLike(value) {
@@ -251,6 +247,7 @@ var asString = StrCls;
251
247
 
252
248
  var GLOBAL_CONFIG_KEY = "__tsUtils$gblCfg";
253
249
  var _globalCfg;
250
+ /*#__NO_SIDE_EFFECTS__*/
254
251
  function _getGlobalValue() {
255
252
  var result;
256
253
  if (typeof globalThis !== UNDEFINED) {
@@ -285,7 +282,7 @@ function dumpObj(object, format) {
285
282
  object = { stack: asString(object.stack), message: asString(object.message), name: asString(object.name) };
286
283
  }
287
284
  try {
288
- propertyValueDump = JSON.stringify(object, NULL_VALUE, format ? ((typeof format === NUMBER) ? format : 4) : UNDEF_VALUE);
285
+ propertyValueDump = JSON.stringify(object, NULL_VALUE, format ? ((typeof format === "number") ? format : 4) : UNDEF_VALUE);
289
286
  propertyValueDump = (propertyValueDump && propertyValueDump.replace(/"(\w+)"\s*:\s{0,1}/g, "$1: ")) || asString(object);
290
287
  }
291
288
  catch (e) {
@@ -294,18 +291,15 @@ function dumpObj(object, format) {
294
291
  return objType + ": " + propertyValueDump;
295
292
  }
296
293
 
297
- var _slice;
298
- var _unwrapInstFunction = _unwrapFunctionWithPoly;
299
294
  var _unwrapFunction = _unwrapFunctionWithPoly;
300
295
  /*#__NO_SIDE_EFFECTS__*/
301
296
  function _unwrapFunctionWithPoly(funcName, clsProto, polyFunc) {
302
- _slice = _slice || ArrProto[SLICE];
303
297
  var clsFn = clsProto && clsProto[funcName];
304
298
  return function (thisArg) {
305
299
  var theFunc = (thisArg && thisArg[funcName]) || clsFn;
306
300
  if (theFunc || polyFunc) {
307
301
  var theArgs = arguments;
308
- return (theFunc || polyFunc).apply(thisArg, theFunc ? _slice[CALL](theArgs, 1) : theArgs);
302
+ return (theFunc || polyFunc).apply(thisArg, theFunc ? ArrSlice[CALL](theArgs, 1) : theArgs);
309
303
  }
310
304
  throwTypeError("\"" + asString(funcName) + "\" not defined for " + dumpObj(thisArg));
311
305
  };
@@ -319,7 +313,7 @@ function _unwrapProp(propName) {
319
313
 
320
314
  var mathMax = MathCls.max;
321
315
 
322
- var strSlice = ( /*#__PURE__*/_unwrapFunction(SLICE, StrProto));
316
+ var strSlice = ( /*#__PURE__*/_unwrapFunction("slice", StrProto));
323
317
 
324
318
  var strSubstring = ( /*#__PURE__*/_unwrapFunction("substring", StrProto));
325
319
  var strSubstr = ( /*#__PURE__*/_unwrapFunctionWithPoly("substr", StrProto, polyStrSubstr));
@@ -391,7 +385,7 @@ function polyGetKnownSymbol(name) {
391
385
  var propMap = {
392
386
  e: "enumerable",
393
387
  c: "configurable",
394
- v: VALUE,
388
+ v: "value",
395
389
  w: "writable",
396
390
  g: "get",
397
391
  s: "set"
@@ -437,6 +431,7 @@ var _globalLazyTestHooks;
437
431
  function _initTestHooks() {
438
432
  _globalLazyTestHooks = _getGlobalConfig();
439
433
  }
434
+ /*#__NO_SIDE_EFFECTS__*/
440
435
  function getLazy(cb) {
441
436
  var lazyValue = {};
442
437
  !_globalLazyTestHooks && _initTestHooks();
@@ -474,11 +469,14 @@ function createCachedValue(value) {
474
469
 
475
470
  var WINDOW = "window";
476
471
  var _cachedGlobal;
477
- var _cachedWindow;
478
- var _cachedDocument;
479
- var _cachedNavigator;
480
- var _cachedHistory;
481
- var _isNode;
472
+ function _getGlobalInstFn(getFn, theArgs) {
473
+ var cachedValue;
474
+ return function () {
475
+ !_globalLazyTestHooks && _initTestHooks();
476
+ (!cachedValue || _globalLazyTestHooks.lzy) && (cachedValue = createCachedValue(safe(getFn, theArgs).v));
477
+ return cachedValue.v;
478
+ };
479
+ }
482
480
  /*#__NO_SIDE_EFFECTS__*/
483
481
  function lazySafeGetInst(name) {
484
482
  return getLazy(function () { return safe((getInst), [name]).v || UNDEF_VALUE; });
@@ -495,8 +493,8 @@ function getInst(name, useCached) {
495
493
  if (gbl && gbl[name]) {
496
494
  return gbl[name];
497
495
  }
498
- if (name === WINDOW && _cachedWindow) {
499
- return _cachedWindow.v;
496
+ if (name === WINDOW) {
497
+ return getWindow();
500
498
  }
501
499
  return NULL_VALUE;
502
500
  }
@@ -504,46 +502,25 @@ function getInst(name, useCached) {
504
502
  function hasDocument() {
505
503
  return !!getDocument();
506
504
  }
507
- /*#__NO_SIDE_EFFECTS__*/
508
- function getDocument() {
509
- !_globalLazyTestHooks && _initTestHooks();
510
- (!_cachedDocument || _globalLazyTestHooks.lzy) && (_cachedDocument = createCachedValue(safe((getInst), ["document"]).v));
511
- return _cachedDocument.v;
512
- }
505
+ var getDocument = ( /*#__PURE__*/_getGlobalInstFn(getInst, ["document"]));
513
506
  /*#__NO_SIDE_EFFECTS__*/
514
507
  function hasWindow() {
515
508
  return !!getWindow();
516
509
  }
517
- /*#__NO_SIDE_EFFECTS__*/
518
- function getWindow() {
519
- !_globalLazyTestHooks && _initTestHooks();
520
- (!_cachedWindow || _globalLazyTestHooks.lzy) && (_cachedWindow = createCachedValue(safe((getInst), [WINDOW]).v));
521
- return _cachedWindow.v;
522
- }
510
+ var getWindow = ( /*#__PURE__*/_getGlobalInstFn(getInst, [WINDOW]));
523
511
  /*#__NO_SIDE_EFFECTS__*/
524
512
  function hasNavigator() {
525
513
  return !!getNavigator();
526
514
  }
527
- /*#__NO_SIDE_EFFECTS__*/
528
- function getNavigator() {
529
- !_globalLazyTestHooks && _initTestHooks();
530
- (!_cachedNavigator || _globalLazyTestHooks.lzy) && (_cachedNavigator = createCachedValue(safe((getInst), ["navigator"]).v));
531
- return _cachedNavigator.v;
532
- }
515
+ var getNavigator = ( /*#__PURE__*/_getGlobalInstFn(getInst, ["navigator"]));
533
516
  /*#__NO_SIDE_EFFECTS__*/
534
517
  function hasHistory() {
535
518
  return !!getHistory();
536
519
  }
537
- /*#__NO_SIDE_EFFECTS__*/
538
- function getHistory() {
539
- !_globalLazyTestHooks && _initTestHooks();
540
- (!_cachedHistory || _globalLazyTestHooks.lzy) && (_cachedHistory = createCachedValue(safe((getInst), ["history"]).v));
541
- return _cachedHistory.v;
542
- }
543
- function isNode() {
544
- !_isNode && (_isNode = createCachedValue(!!safe(function () { return (process && (process.versions || {}).node); }).v));
545
- return _isNode.v;
546
- }
520
+ var getHistory = ( /*#__PURE__*/_getGlobalInstFn(getInst, ["history"]));
521
+ var isNode = ( /*#__PURE__*/_getGlobalInstFn(function () {
522
+ return !!safe(function () { return (process && (process.versions || {}).node); }).v;
523
+ }));
547
524
 
548
525
  var _symbol;
549
526
  var _symbolFor;
@@ -605,8 +582,8 @@ function iterForOf(iter, callbackfn, thisArg) {
605
582
  var iterResult = void 0;
606
583
  try {
607
584
  var count = 0;
608
- while (!(iterResult = iter.next())[DONE]) {
609
- if (callbackfn[CALL](thisArg || iter, iterResult[VALUE], count, iter) === -1) {
585
+ while (!(iterResult = iter.next()).done) {
586
+ if (callbackfn[CALL](thisArg || iter, iterResult.value, count, iter) === -1) {
610
587
  break;
611
588
  }
612
589
  count++;
@@ -621,7 +598,7 @@ function iterForOf(iter, callbackfn, thisArg) {
621
598
  }
622
599
  finally {
623
600
  try {
624
- if (iterResult && !iterResult[DONE]) {
601
+ if (iterResult && !iterResult.done) {
625
602
  iter.return && iter.return(iterResult);
626
603
  }
627
604
  }
@@ -635,7 +612,9 @@ function iterForOf(iter, callbackfn, thisArg) {
635
612
  }
636
613
  }
637
614
 
638
- var fnApply = ( /*#__PURE__*/_unwrapInstFunction("apply"));
615
+ function fnApply(fn, thisArg, argArray) {
616
+ return fn.apply(thisArg, argArray);
617
+ }
639
618
 
640
619
  function arrAppend(target, elms) {
641
620
  if (!isUndefined(elms) && target) {
@@ -667,11 +646,13 @@ function arrForEach(theArray, callbackfn, thisArg) {
667
646
  }
668
647
  }
669
648
 
670
- var arrIndexOf = ( /*#__PURE__*/_unwrapFunction(INDEX_OF, ArrProto));
649
+ var arrIndexOf = ( /*#__PURE__*/_unwrapFunction("indexOf", ArrProto));
671
650
 
672
651
  var arrMap = ( /*#__PURE__*/_unwrapFunction("map", ArrProto));
673
652
 
674
- var arrSlice = ( /*#__PURE__*/_unwrapFunction(SLICE, ArrProto));
653
+ function arrSlice(theArray, start, end) {
654
+ return ((theArray && theArray["slice"]) || ArrSlice).apply(theArray, ArrSlice[CALL](arguments, 1));
655
+ }
675
656
 
676
657
  var arrReduce = ( /*#__PURE__*/_unwrapFunction("reduce", ArrProto));
677
658
 
@@ -703,6 +684,7 @@ function objSetPrototypeOf(obj, proto) {
703
684
  return fn(obj, proto);
704
685
  }
705
686
 
687
+ /*#__NO_SIDE_EFFECTS__*/
706
688
  function _createCustomError(name, d, b) {
707
689
  safe(objDefine, [d, NAME, { v: name, c: true, e: false }]);
708
690
  d = objSetPrototypeOf(d, b);
@@ -726,7 +708,7 @@ function createCustomError(name, constructCb, errorBase) {
726
708
  var theArgs = arguments;
727
709
  try {
728
710
  safe(_setName, [theBaseClass, name]);
729
- var _self = fnApply(theBaseClass, _this, ArrProto[SLICE][CALL](theArgs)) || _this;
711
+ var _self = fnApply(theBaseClass, _this, ArrSlice[CALL](theArgs)) || _this;
730
712
  if (_self !== _this) {
731
713
  var orgProto = objGetPrototypeOf(_this);
732
714
  if (orgProto !== objGetPrototypeOf(_self)) {
@@ -801,16 +783,18 @@ function isPlainObject(value) {
801
783
  return result;
802
784
  }
803
785
 
804
- var _defaultDeepCopyHandler = function (details) {
786
+ /*#__NO_SIDE_EFFECTS__*/
787
+ function _defaultDeepCopyHandler(details) {
805
788
  details.value && plainObjDeepCopyHandler(details);
806
789
  return true;
807
- };
790
+ }
808
791
  var defaultDeepCopyHandlers = [
809
792
  arrayDeepCopyHandler,
810
793
  plainObjDeepCopyHandler,
811
794
  functionDeepCopyHandler,
812
795
  dateDeepCopyHandler
813
796
  ];
797
+ /*#__NO_SIDE_EFFECTS__*/
814
798
  function _getSetVisited(visitMap, source, newPath, cb) {
815
799
  var theEntry;
816
800
  arrForEach(visitMap, function (entry) {
@@ -945,7 +929,7 @@ function _doExtend(target, theArgs) {
945
929
  return target;
946
930
  }
947
931
  function deepExtend(target, obj1, obj2, obj3, obj4, obj5, obj6) {
948
- return _doExtend(objDeepCopy(target) || {}, ArrProto[SLICE][CALL](arguments));
932
+ return _doExtend(objDeepCopy(target) || {}, ArrSlice[CALL](arguments));
949
933
  }
950
934
 
951
935
  var getLength = ( /*#__PURE__*/_unwrapProp(LENGTH));
@@ -977,7 +961,7 @@ function polyStrEndsWith(value, searchString, length) {
977
961
  return strSubstring(value, end - searchValue[LENGTH], end) === searchValue;
978
962
  }
979
963
 
980
- var strIndexOf = ( /*#__PURE__*/_unwrapFunction(INDEX_OF, StrProto));
964
+ var strIndexOf = ( /*#__PURE__*/_unwrapFunction("indexOf", StrProto));
981
965
 
982
966
  var strStartsWith = ( /*#__PURE__*/_unwrapFunctionWithPoly("startsWith", StrProto, polyStrStartsWith));
983
967
  /*#__NO_SIDE_EFFECTS__*/
@@ -991,55 +975,51 @@ function polyStrStartsWith(value, searchString, position) {
991
975
  }
992
976
 
993
977
  var REF = "ref";
994
- var UNREF = "un" + REF;
978
+ var UNREF = "unref";
995
979
  var HAS_REF = "hasRef";
996
980
  var ENABLED = "enabled";
981
+ /*#__NO_SIDE_EFFECTS__*/
997
982
  function _createTimerHandler(startTimer, refreshFn, cancelFn) {
998
- var _a;
999
983
  var ref = true;
1000
984
  var timerId = startTimer ? refreshFn(NULL_VALUE) : NULL_VALUE;
1001
985
  var theTimerHandler;
1002
- var _unref = function () {
986
+ function _unref() {
1003
987
  ref = false;
1004
988
  timerId && timerId[UNREF] && timerId[UNREF]();
1005
989
  return theTimerHandler;
1006
- };
1007
- var _ref = function () {
1008
- ref = true;
1009
- timerId && timerId[REF] && timerId[REF]();
990
+ }
991
+ function _cancel() {
992
+ timerId && cancelFn(timerId);
993
+ timerId = NULL_VALUE;
994
+ }
995
+ function _refresh() {
996
+ timerId = refreshFn(timerId);
997
+ if (!ref) {
998
+ _unref();
999
+ }
1010
1000
  return theTimerHandler;
1001
+ }
1002
+ function _setEnabled(value) {
1003
+ !value && timerId && _cancel();
1004
+ value && !timerId && _refresh();
1005
+ }
1006
+ theTimerHandler = {
1007
+ cancel: _cancel,
1008
+ refresh: _refresh
1011
1009
  };
1012
- var _hasRef = function () {
1010
+ theTimerHandler[HAS_REF] = function () {
1013
1011
  if (timerId && timerId[HAS_REF]) {
1014
1012
  return timerId[HAS_REF]();
1015
1013
  }
1016
1014
  return ref;
1017
1015
  };
1018
- var _refresh = function () {
1019
- timerId = refreshFn(timerId);
1020
- if (!ref) {
1021
- _unref();
1022
- }
1016
+ theTimerHandler[REF] = function () {
1017
+ ref = true;
1018
+ timerId && timerId[REF] && timerId[REF]();
1023
1019
  return theTimerHandler;
1024
1020
  };
1025
- var _cancel = function () {
1026
- timerId && cancelFn(timerId);
1027
- timerId = NULL_VALUE;
1028
- };
1029
- var _setEnabled = function (value) {
1030
- !value && timerId && _cancel();
1031
- value && !timerId && _refresh();
1032
- };
1033
- theTimerHandler = (_a = {
1034
- cancel: _cancel,
1035
- refresh: _refresh
1036
- },
1037
- _a[HAS_REF] = _hasRef,
1038
- _a[REF] = _ref,
1039
- _a[UNREF] = _unref,
1040
- _a[ENABLED] = false,
1041
- _a);
1042
- objDefineProp(theTimerHandler, ENABLED, {
1021
+ theTimerHandler[UNREF] = _unref;
1022
+ theTimerHandler = objDefineProp(theTimerHandler, ENABLED, {
1043
1023
  get: function () { return !!timerId; },
1044
1024
  set: _setEnabled
1045
1025
  });
@@ -1051,7 +1031,7 @@ function _createTimerHandler(startTimer, refreshFn, cancelFn) {
1051
1031
  };
1052
1032
  }
1053
1033
 
1054
- function _createTimeoutWith(self, startTimer, overrideFn, theArgs) {
1034
+ function _createTimeoutWith(startTimer, overrideFn, theArgs) {
1055
1035
  var isArr = isArray(overrideFn);
1056
1036
  var len = isArr ? overrideFn.length : 0;
1057
1037
  var setFn = (len > 0 ? overrideFn[0] : (!isArr ? overrideFn : UNDEF_VALUE)) || setTimeout;
@@ -1059,7 +1039,7 @@ function _createTimeoutWith(self, startTimer, overrideFn, theArgs) {
1059
1039
  var timerFn = theArgs[0];
1060
1040
  theArgs[0] = function () {
1061
1041
  handler.dn();
1062
- fnApply(timerFn, self, ArrProto[SLICE][CALL](arguments));
1042
+ fnApply(timerFn, UNDEF_VALUE, ArrSlice[CALL](arguments));
1063
1043
  };
1064
1044
  var handler = _createTimerHandler(startTimer, function (timerId) {
1065
1045
  if (timerId) {
@@ -1067,19 +1047,19 @@ function _createTimeoutWith(self, startTimer, overrideFn, theArgs) {
1067
1047
  timerId.refresh();
1068
1048
  return timerId;
1069
1049
  }
1070
- fnApply(clearFn, self, [timerId]);
1050
+ fnApply(clearFn, UNDEF_VALUE, [timerId]);
1071
1051
  }
1072
- return fnApply(setFn, self, theArgs);
1052
+ return fnApply(setFn, UNDEF_VALUE, theArgs);
1073
1053
  }, function (timerId) {
1074
- fnApply(clearFn, self, [timerId]);
1054
+ fnApply(clearFn, UNDEF_VALUE, [timerId]);
1075
1055
  });
1076
1056
  return handler.h;
1077
1057
  }
1078
1058
  function scheduleTimeout(callback, timeout) {
1079
- return _createTimeoutWith(this, true, UNDEF_VALUE, ArrProto[SLICE][CALL](arguments));
1059
+ return _createTimeoutWith(true, UNDEF_VALUE, ArrSlice[CALL](arguments));
1080
1060
  }
1081
1061
  function createTimeout(callback, timeout) {
1082
- return _createTimeoutWith(this, false, UNDEF_VALUE, ArrProto[SLICE][CALL](arguments));
1062
+ return _createTimeoutWith(false, UNDEF_VALUE, ArrSlice[CALL](arguments));
1083
1063
  }
1084
1064
 
1085
1065
  var createEnumStyle = createEnum;
@@ -1117,16 +1097,16 @@ var _DYN_HDLR = "hdlr";
1117
1097
  var _DYN_CANCEL = "cancel";
1118
1098
  var _DYN_INITIALIZE = "initialize";
1119
1099
  var _DYN_IDENTIFIER = "identifier";
1100
+ var _DYN_REMOVE_NOTIFICATION_0 = "removeNotificationListener";
1101
+ var _DYN_ADD_NOTIFICATION_LIS1 = "addNotificationListener";
1120
1102
  var _DYN_IS_INITIALIZED = "isInitialized";
1103
+ var _DYN_GET_NOTIFY_MGR = "getNotifyMgr";
1121
1104
  var _DYN_GET_PLUGIN = "getPlugin";
1122
1105
  var _DYN_POLL_INTERNAL_LOGS = "pollInternalLogs";
1123
1106
  var _DYN_NAME = "name";
1124
1107
  var _DYN_TIME = "time";
1125
1108
  var _DYN_PROCESS_NEXT = "processNext";
1126
- var _DYN_GET_PROCESS_TEL_CONT0 = "getProcessTelContext";
1127
- var _DYN_GET_NOTIFY_MGR = "getNotifyMgr";
1128
- var _DYN_ADD_NOTIFICATION_LIS1 = "addNotificationListener";
1129
- var _DYN_REMOVE_NOTIFICATION_2 = "removeNotificationListener";
1109
+ var _DYN_GET_PROCESS_TEL_CONT2 = "getProcessTelContext";
1130
1110
  var _DYN_ENABLED = "enabled";
1131
1111
  var _DYN_STOP_POLLING_INTERNA3 = "stopPollingInternalLogs";
1132
1112
  var _DYN_UNLOAD = "unload";
@@ -1152,7 +1132,6 @@ var _DYN_LOG_INTERNAL_MESSAGE = "logInternalMessage";
1152
1132
  var _DYN_TYPE = "type";
1153
1133
  var _DYN_HANDLER = "handler";
1154
1134
  var _DYN_STATUS = "status";
1155
- var _DYN_ITEMS_RECEIVED = "itemsReceived";
1156
1135
  var _DYN_GET_RESPONSE_HEADER = "getResponseHeader";
1157
1136
  var _DYN_GET_ALL_RESPONSE_HEA5 = "getAllResponseHeaders";
1158
1137
  var _DYN_IS_CHILD_EVT = "isChildEvt";
@@ -1160,6 +1139,7 @@ var _DYN_DATA = "data";
1160
1139
  var _DYN_GET_CTX = "getCtx";
1161
1140
  var _DYN_SET_CTX = "setCtx";
1162
1141
  var _DYN_COMPLETE = "complete";
1142
+ var _DYN_ITEMS_RECEIVED = "itemsReceived";
1163
1143
  var _DYN_URL_STRING = "urlString";
1164
1144
  var _DYN_SEND_POST = "sendPOST";
1165
1145
  var _DYN_HEADERS = "headers";
@@ -1825,779 +1805,535 @@ var STR_DOMAIN = "domain";
1825
1805
  var STR_PATH = "path";
1826
1806
  var STR_NOT_DYNAMIC_ERROR = "Not dynamic - ";
1827
1807
 
1828
- var listenerFuncs = [STR_EVENTS_SENT, STR_EVENTS_DISCARDED, STR_EVENTS_SEND_REQUEST, STR_PERF_EVENT];
1829
- var _aiNamespace = null;
1830
- var _debugListener;
1831
- function _listenerProxyFunc(name, config) {
1832
- return function () {
1833
- var args = arguments;
1834
- var dbgExt = getDebugExt(config);
1835
- if (dbgExt) {
1836
- var listener = dbgExt.listener;
1837
- if (listener && listener[name]) {
1838
- listener[name][_DYN_APPLY ](listener, args);
1839
- }
1840
- }
1841
- };
1808
+ var strGetPrototypeOf = "getPrototypeOf";
1809
+ var rCamelCase = /-([a-z])/g;
1810
+ var rNormalizeInvalid = /([^\w\d_$])/g;
1811
+ var rLeadingNumeric = /^(\d+[\w\d_$])/;
1812
+ var _getObjProto = Object[strGetPrototypeOf];
1813
+ function isNotUndefined(value) {
1814
+ return !isUndefined(value);
1842
1815
  }
1843
- function _getExtensionNamespace() {
1844
- var target = getInst("Microsoft");
1845
- if (target) {
1846
- _aiNamespace = target["ApplicationInsights"];
1816
+ function isNotNullOrUndefined(value) {
1817
+ return !isNullOrUndefined(value);
1818
+ }
1819
+ function normalizeJsName(name) {
1820
+ var value = name;
1821
+ if (value && isString(value)) {
1822
+ value = value[_DYN_REPLACE ](rCamelCase, function (_all, letter) {
1823
+ return letter.toUpperCase();
1824
+ });
1825
+ value = value[_DYN_REPLACE ](rNormalizeInvalid, "_");
1826
+ value = value[_DYN_REPLACE ](rLeadingNumeric, function (_all, match) {
1827
+ return "_" + match;
1828
+ });
1847
1829
  }
1848
- return _aiNamespace;
1830
+ return value;
1849
1831
  }
1850
- function getDebugExt(config) {
1851
- var ns = _aiNamespace;
1852
- if (!ns && config.disableDbgExt !== true) {
1853
- ns = _aiNamespace || _getExtensionNamespace();
1832
+ function strContains(value, search) {
1833
+ if (value && search) {
1834
+ return strIndexOf(value, search) !== -1;
1854
1835
  }
1855
- return ns ? ns["ChromeDbgExt"] : null;
1836
+ return false;
1856
1837
  }
1857
- function getDebugListener(config) {
1858
- if (!_debugListener) {
1859
- _debugListener = {};
1860
- for (var lp = 0; lp < listenerFuncs[_DYN_LENGTH ]; lp++) {
1861
- _debugListener[listenerFuncs[lp]] = _listenerProxyFunc(listenerFuncs[lp], config);
1862
- }
1838
+ function toISOString(date) {
1839
+ return date && date.toISOString() || "";
1840
+ }
1841
+ function getExceptionName(object) {
1842
+ if (isError(object)) {
1843
+ return object[_DYN_NAME ];
1863
1844
  }
1864
- return _debugListener;
1845
+ return STR_EMPTY$1;
1865
1846
  }
1866
-
1867
- var strDocumentMode = "documentMode";
1868
- var strLocation = "location";
1869
- var strConsole = "console";
1870
- var strJSON = "JSON";
1871
- var strCrypto = "crypto";
1872
- var strMsCrypto = "msCrypto";
1873
- var strReactNative = "ReactNative";
1874
- var strMsie = "msie";
1875
- var strTrident = "trident/";
1876
- var strXMLHttpRequest = "XMLHttpRequest";
1877
- var _isTrident = null;
1878
- var _navUserAgentCheck = null;
1879
- var _enableMocks = false;
1880
- var _useXDomainRequest = null;
1881
- var _beaconsSupported = null;
1882
- function _hasProperty(theClass, property) {
1883
- var supported = false;
1884
- if (theClass) {
1885
- try {
1886
- supported = property in theClass;
1887
- if (!supported) {
1888
- var proto = theClass[strShimPrototype];
1889
- if (proto) {
1890
- supported = property in proto;
1891
- }
1892
- }
1893
- }
1894
- catch (e) {
1895
- }
1896
- if (!supported) {
1897
- try {
1898
- var tmp = new theClass();
1899
- supported = !isUndefined(tmp[property]);
1900
- }
1901
- catch (e) {
1902
- }
1847
+ function setValue(target, field, value, valChk, srcChk) {
1848
+ var theValue = value;
1849
+ if (target) {
1850
+ theValue = target[field];
1851
+ if (theValue !== value && (!srcChk || srcChk(theValue)) && (!valChk || valChk(value))) {
1852
+ theValue = value;
1853
+ target[field] = theValue;
1903
1854
  }
1904
1855
  }
1905
- return supported;
1906
- }
1907
- function setEnableEnvMocks(enabled) {
1908
- _enableMocks = enabled;
1856
+ return theValue;
1909
1857
  }
1910
- function getLocation(checkForMock) {
1911
- if (checkForMock && _enableMocks) {
1912
- var mockLocation = getInst("__mockLocation");
1913
- if (mockLocation) {
1914
- return mockLocation;
1858
+ function getSetValue(target, field, defValue) {
1859
+ var theValue;
1860
+ if (target) {
1861
+ theValue = target[field];
1862
+ if (!theValue && isNullOrUndefined(theValue)) {
1863
+ theValue = !isUndefined(defValue) ? defValue : {};
1864
+ target[field] = theValue;
1915
1865
  }
1916
1866
  }
1917
- if (typeof location === strShimObject && location) {
1918
- return location;
1867
+ else {
1868
+ theValue = !isUndefined(defValue) ? defValue : {};
1919
1869
  }
1920
- return getInst(strLocation);
1870
+ return theValue;
1921
1871
  }
1922
- function getConsole() {
1923
- if (typeof console !== strShimUndefined) {
1924
- return console;
1872
+ function _createProxyFunction(source, funcName) {
1873
+ var srcFunc = null;
1874
+ var src = null;
1875
+ if (isFunction(source)) {
1876
+ srcFunc = source;
1925
1877
  }
1926
- return getInst(strConsole);
1878
+ else {
1879
+ src = source;
1880
+ }
1881
+ return function () {
1882
+ var originalArguments = arguments;
1883
+ if (srcFunc) {
1884
+ src = srcFunc();
1885
+ }
1886
+ if (src) {
1887
+ return src[funcName][_DYN_APPLY ](src, originalArguments);
1888
+ }
1889
+ };
1927
1890
  }
1928
- function hasJSON() {
1929
- return Boolean((typeof JSON === strShimObject && JSON) || getInst(strJSON) !== null);
1891
+ function proxyAssign(target, source, chkSet) {
1892
+ if (target && source && isObject(target) && isObject(source)) {
1893
+ var _loop_1 = function (field) {
1894
+ if (isString(field)) {
1895
+ var value = source[field];
1896
+ if (isFunction(value)) {
1897
+ if (!chkSet || chkSet(field, true, source, target)) {
1898
+ target[field] = _createProxyFunction(source, field);
1899
+ }
1900
+ }
1901
+ else if (!chkSet || chkSet(field, false, source, target)) {
1902
+ if (objHasOwn(target, field)) {
1903
+ delete target[field];
1904
+ }
1905
+ objDefine(target, field, {
1906
+ g: function () {
1907
+ return source[field];
1908
+ },
1909
+ s: function (theValue) {
1910
+ source[field] = theValue;
1911
+ }
1912
+ });
1913
+ }
1914
+ }
1915
+ };
1916
+ for (var field in source) {
1917
+ _loop_1(field);
1918
+ }
1919
+ }
1920
+ return target;
1930
1921
  }
1931
- function getJSON() {
1932
- if (hasJSON()) {
1933
- return JSON || getInst(strJSON);
1922
+ function proxyFunctionAs(target, name, source, theFunc, overwriteTarget) {
1923
+ if (target && name && source) {
1924
+ if (overwriteTarget !== false || isUndefined(target[name])) {
1925
+ target[name] = _createProxyFunction(source, theFunc);
1926
+ }
1934
1927
  }
1935
- return null;
1936
1928
  }
1937
- function getCrypto() {
1938
- return getInst(strCrypto);
1939
- }
1940
- function getMsCrypto() {
1941
- return getInst(strMsCrypto);
1942
- }
1943
- function isReactNative() {
1944
- var nav = getNavigator();
1945
- if (nav && nav.product) {
1946
- return nav.product === strReactNative;
1947
- }
1948
- return false;
1949
- }
1950
- function isIE() {
1951
- var nav = getNavigator();
1952
- if (nav && (nav[_DYN_USER_AGENT ] !== _navUserAgentCheck || _isTrident === null)) {
1953
- _navUserAgentCheck = nav[_DYN_USER_AGENT ];
1954
- var userAgent = (_navUserAgentCheck || STR_EMPTY$1)[_DYN_TO_LOWER_CASE ]();
1955
- _isTrident = (strContains(userAgent, strMsie) || strContains(userAgent, strTrident));
1929
+ function proxyFunctions(target, source, functionsToProxy, overwriteTarget) {
1930
+ if (target && source && isObject(target) && isArray(functionsToProxy)) {
1931
+ arrForEach(functionsToProxy, function (theFuncName) {
1932
+ if (isString(theFuncName)) {
1933
+ proxyFunctionAs(target, theFuncName, source, theFuncName, overwriteTarget);
1934
+ }
1935
+ });
1956
1936
  }
1957
- return _isTrident;
1937
+ return target;
1958
1938
  }
1959
- function getIEVersion(userAgentStr) {
1960
- if (userAgentStr === void 0) { userAgentStr = null; }
1961
- if (!userAgentStr) {
1962
- var navigator_1 = getNavigator() || {};
1963
- userAgentStr = navigator_1 ? (navigator_1.userAgent || STR_EMPTY$1)[_DYN_TO_LOWER_CASE ]() : STR_EMPTY$1;
1964
- }
1965
- var ua = (userAgentStr || STR_EMPTY$1)[_DYN_TO_LOWER_CASE ]();
1966
- if (strContains(ua, strMsie)) {
1967
- var doc = getDocument() || {};
1968
- return Math.max(parseInt(ua[_DYN_SPLIT ](strMsie)[1]), (doc[strDocumentMode] || 0));
1969
- }
1970
- else if (strContains(ua, strTrident)) {
1971
- var tridentVer = parseInt(ua[_DYN_SPLIT ](strTrident)[1]);
1972
- if (tridentVer) {
1973
- return tridentVer + 4;
1939
+ function createClassFromInterface(defaults) {
1940
+ return /** @class */ (function () {
1941
+ function class_1() {
1942
+ var _this = this;
1943
+ if (defaults) {
1944
+ objForEachKey(defaults, function (field, value) {
1945
+ _this[field] = value;
1946
+ });
1947
+ }
1974
1948
  }
1975
- }
1976
- return null;
1949
+ return class_1;
1950
+ }());
1977
1951
  }
1978
- function isSafari(userAgentStr) {
1979
- if (!userAgentStr || !isString(userAgentStr)) {
1980
- var navigator_2 = getNavigator() || {};
1981
- userAgentStr = navigator_2 ? (navigator_2.userAgent || STR_EMPTY$1)[_DYN_TO_LOWER_CASE ]() : STR_EMPTY$1;
1952
+ function optimizeObject(theObject) {
1953
+ if (theObject && objAssign) {
1954
+ theObject = ObjClass(objAssign({}, theObject));
1982
1955
  }
1983
- var ua = (userAgentStr || STR_EMPTY$1)[_DYN_TO_LOWER_CASE ]();
1984
- return (strIndexOf(ua, "safari") >= 0);
1956
+ return theObject;
1985
1957
  }
1986
- function isBeaconsSupported(useCached) {
1987
- if (_beaconsSupported === null || useCached === false) {
1988
- _beaconsSupported = hasNavigator() && Boolean(getNavigator().sendBeacon);
1958
+ function objExtend(obj1, obj2, obj3, obj4, obj5, obj6) {
1959
+ var theArgs = arguments;
1960
+ var extended = theArgs[0] || {};
1961
+ var argLen = theArgs[_DYN_LENGTH ];
1962
+ var deep = false;
1963
+ var idx = 1;
1964
+ if (argLen > 0 && isBoolean(extended)) {
1965
+ deep = extended;
1966
+ extended = theArgs[idx] || {};
1967
+ idx++;
1989
1968
  }
1990
- return _beaconsSupported;
1991
- }
1992
- function isFetchSupported(withKeepAlive) {
1993
- var isSupported = false;
1994
- try {
1995
- isSupported = !!getInst("fetch");
1996
- var request = getInst("Request");
1997
- if (isSupported && withKeepAlive && request) {
1998
- isSupported = _hasProperty(request, "keepalive");
1999
- }
1969
+ if (!isObject(extended)) {
1970
+ extended = {};
2000
1971
  }
2001
- catch (e) {
1972
+ for (; idx < argLen; idx++) {
1973
+ var arg = theArgs[idx];
1974
+ var isArgArray = isArray(arg);
1975
+ var isArgObj = isObject(arg);
1976
+ for (var prop in arg) {
1977
+ var propOk = (isArgArray && (prop in arg)) || (isArgObj && objHasOwn(arg, prop));
1978
+ if (!propOk) {
1979
+ continue;
1980
+ }
1981
+ var newValue = arg[prop];
1982
+ var isNewArray = void 0;
1983
+ if (deep && newValue && ((isNewArray = isArray(newValue)) || isPlainObject(newValue))) {
1984
+ var clone = extended[prop];
1985
+ if (isNewArray) {
1986
+ if (!isArray(clone)) {
1987
+ clone = [];
1988
+ }
1989
+ }
1990
+ else if (!isPlainObject(clone)) {
1991
+ clone = {};
1992
+ }
1993
+ newValue = objExtend(deep, clone, newValue);
1994
+ }
1995
+ if (newValue !== undefined) {
1996
+ extended[prop] = newValue;
1997
+ }
1998
+ }
2002
1999
  }
2003
- return isSupported;
2000
+ return extended;
2004
2001
  }
2005
- function useXDomainRequest() {
2006
- if (_useXDomainRequest === null) {
2007
- _useXDomainRequest = (typeof XDomainRequest !== strShimUndefined);
2008
- if (_useXDomainRequest && isXhrSupported()) {
2009
- _useXDomainRequest = _useXDomainRequest && !_hasProperty(getInst(strXMLHttpRequest), "withCredentials");
2010
- }
2002
+ function isFeatureEnabled(feature, cfg) {
2003
+ var rlt = false;
2004
+ var ft = cfg && cfg.featureOptIn && cfg.featureOptIn[feature];
2005
+ if (feature && ft) {
2006
+ var mode = ft.mode;
2007
+ rlt = (mode == 3 ) || (mode == 1 );
2011
2008
  }
2012
- return _useXDomainRequest;
2009
+ return rlt;
2013
2010
  }
2014
- function isXhrSupported() {
2015
- var isSupported = false;
2011
+ function getResponseText(xhr) {
2016
2012
  try {
2017
- var xmlHttpRequest = getInst(strXMLHttpRequest);
2018
- isSupported = !!xmlHttpRequest;
2013
+ return xhr.responseText;
2019
2014
  }
2020
2015
  catch (e) {
2021
2016
  }
2022
- return isSupported;
2023
- }
2024
- function _getNamedValue(values, name) {
2025
- if (values) {
2026
- for (var i = 0; i < values[_DYN_LENGTH ]; i++) {
2027
- var value = values[i];
2028
- if (value[_DYN_NAME ]) {
2029
- if (value[_DYN_NAME ] === name) {
2030
- return value;
2031
- }
2032
- }
2033
- }
2034
- }
2035
- return {};
2036
- }
2037
- function findMetaTag(name) {
2038
- var doc = getDocument();
2039
- if (doc && name) {
2040
- return _getNamedValue(doc.querySelectorAll("meta"), name).content;
2041
- }
2042
2017
  return null;
2043
2018
  }
2044
- function findNamedServerTiming(name) {
2045
- var value;
2046
- var perf = getPerformance();
2047
- if (perf) {
2048
- var navPerf = perf.getEntriesByType("navigation") || [];
2049
- value = _getNamedValue((navPerf[_DYN_LENGTH ] > 0 ? navPerf[0] : {}).serverTiming, name).description;
2019
+ function formatErrorMessageXdr(xdr, message) {
2020
+ if (xdr) {
2021
+ return "XDomainRequest,Response:" + getResponseText(xdr) || "";
2050
2022
  }
2051
- return value;
2023
+ return message;
2052
2024
  }
2053
- function dispatchEvent(target, evnt) {
2054
- if (target && target.dispatchEvent && evnt) {
2055
- target.dispatchEvent(evnt);
2056
- return true;
2025
+ function formatErrorMessageXhr(xhr, message) {
2026
+ if (xhr) {
2027
+ return "XMLHttpRequest,Status:" + xhr[_DYN_STATUS ] + ",Response:" + getResponseText(xhr) || xhr.response || "";
2057
2028
  }
2058
- return false;
2029
+ return message;
2059
2030
  }
2060
- function createCustomDomEvent(eventName, details) {
2061
- var event = null;
2062
- var detail = { detail: details || null };
2063
- if (isFunction(CustomEvent)) {
2064
- event = new CustomEvent(eventName, detail);
2065
- }
2066
- else {
2067
- var doc = getDocument();
2068
- if (doc && doc.createEvent) {
2069
- event = doc.createEvent("CustomEvent");
2070
- event.initCustomEvent(eventName, true, true, detail);
2031
+ function prependTransports(theTransports, newTransports) {
2032
+ if (newTransports) {
2033
+ if (isNumber(newTransports)) {
2034
+ theTransports = [newTransports].concat(theTransports);
2035
+ }
2036
+ else if (isArray(newTransports)) {
2037
+ theTransports = newTransports.concat(theTransports);
2071
2038
  }
2072
2039
  }
2073
- return event;
2040
+ return theTransports;
2074
2041
  }
2075
- function sendCustomEvent(evtName, cfg, customDetails) {
2076
- var global = getGlobal();
2077
- if (global && global.CustomEvent) {
2042
+ var strDisabledPropertyName = "Microsoft_ApplicationInsights_BypassAjaxInstrumentation";
2043
+ var strWithCredentials = "withCredentials";
2044
+ var strTimeout = "timeout";
2045
+ function openXhr(method, urlString, withCredentials, disabled, isSync, timeout) {
2046
+ if (disabled === void 0) { disabled = false; }
2047
+ if (isSync === void 0) { isSync = false; }
2048
+ function _wrapSetXhrProp(xhr, prop, value) {
2078
2049
  try {
2079
- var details = { cfg: cfg || null, customDetails: customDetails || null };
2080
- return dispatchEvent(global, createCustomDomEvent(evtName, details));
2050
+ xhr[prop] = value;
2081
2051
  }
2082
2052
  catch (e) {
2083
2053
  }
2084
2054
  }
2085
- return false;
2086
- }
2087
-
2088
- var _a$3;
2089
- var STR_WARN_TO_CONSOLE = "warnToConsole";
2090
- var AiNonUserActionablePrefix = "AI (Internal): ";
2091
- var AiUserActionablePrefix = "AI: ";
2092
- var AIInternalMessagePrefix = "AITR_";
2093
- var defaultValues$2 = {
2094
- loggingLevelConsole: 0,
2095
- loggingLevelTelemetry: 1,
2096
- maxMessageLimit: 25,
2097
- enableDebug: false
2098
- };
2099
- var _logFuncs = (_a$3 = {},
2100
- _a$3[0 ] = null,
2101
- _a$3[1 ] = "errorToConsole",
2102
- _a$3[2 ] = STR_WARN_TO_CONSOLE,
2103
- _a$3[3 ] = "debugToConsole",
2104
- _a$3);
2105
- function _sanitizeDiagnosticText(text) {
2106
- if (text) {
2107
- return "\"" + text[_DYN_REPLACE ](/\"/g, STR_EMPTY$1) + "\"";
2055
+ var xhr = new XMLHttpRequest();
2056
+ if (disabled) {
2057
+ _wrapSetXhrProp(xhr, strDisabledPropertyName, disabled);
2108
2058
  }
2109
- return STR_EMPTY$1;
2110
- }
2111
- function _logToConsole(func, message) {
2112
- var theConsole = getConsole();
2113
- if (!!theConsole) {
2114
- var logFunc = "log";
2115
- if (theConsole[func]) {
2116
- logFunc = func;
2117
- }
2118
- if (isFunction(theConsole[logFunc])) {
2119
- theConsole[logFunc](message);
2120
- }
2059
+ if (withCredentials) {
2060
+ _wrapSetXhrProp(xhr, strWithCredentials, withCredentials);
2121
2061
  }
2122
- }
2123
- var _InternalLogMessage = /** @class */ (function () {
2124
- function _InternalLogMessage(msgId, msg, isUserAct, properties) {
2125
- if (isUserAct === void 0) { isUserAct = false; }
2126
- var _self = this;
2127
- _self[_DYN_MESSAGE_ID ] = msgId;
2128
- _self[_DYN_MESSAGE ] =
2129
- (isUserAct ? AiUserActionablePrefix : AiNonUserActionablePrefix) +
2130
- msgId;
2131
- var strProps = STR_EMPTY$1;
2132
- if (hasJSON()) {
2133
- strProps = getJSON().stringify(properties);
2134
- }
2135
- var diagnosticText = (msg ? " message:" + _sanitizeDiagnosticText(msg) : STR_EMPTY$1) +
2136
- (properties ? " props:" + _sanitizeDiagnosticText(strProps) : STR_EMPTY$1);
2137
- _self[_DYN_MESSAGE ] += diagnosticText;
2062
+ xhr.open(method, urlString, !isSync);
2063
+ if (withCredentials) {
2064
+ _wrapSetXhrProp(xhr, strWithCredentials, withCredentials);
2138
2065
  }
2139
- _InternalLogMessage.dataType = "MessageData";
2140
- return _InternalLogMessage;
2141
- }());
2142
- function safeGetLogger(core, config) {
2143
- return (core || {})[_DYN_LOGGER ] || new DiagnosticLogger(config);
2066
+ if (!isSync && timeout) {
2067
+ _wrapSetXhrProp(xhr, strTimeout, timeout);
2068
+ }
2069
+ return xhr;
2144
2070
  }
2145
- var DiagnosticLogger = /** @class */ (function () {
2146
- function DiagnosticLogger(config) {
2147
- this.identifier = "DiagnosticLogger";
2148
- this.queue = [];
2149
- var _messageCount = 0;
2150
- var _messageLogged = {};
2151
- var _loggingLevelConsole;
2152
- var _loggingLevelTelemetry;
2153
- var _maxInternalMessageLimit;
2154
- var _enableDebug;
2155
- var _unloadHandler;
2156
- dynamicProto(DiagnosticLogger, this, function (_self) {
2157
- _unloadHandler = _setDefaultsFromConfig(config || {});
2158
- _self.consoleLoggingLevel = function () { return _loggingLevelConsole; };
2159
- _self[_DYN_THROW_INTERNAL ] = function (severity, msgId, msg, properties, isUserAct) {
2160
- if (isUserAct === void 0) { isUserAct = false; }
2161
- var message = new _InternalLogMessage(msgId, msg, isUserAct, properties);
2162
- if (_enableDebug) {
2163
- throw dumpObj(message);
2164
- }
2165
- else {
2166
- var logFunc = _logFuncs[severity] || STR_WARN_TO_CONSOLE;
2167
- if (!isUndefined(message[_DYN_MESSAGE ])) {
2168
- if (isUserAct) {
2169
- var messageKey = +message[_DYN_MESSAGE_ID ];
2170
- if (!_messageLogged[messageKey] && _loggingLevelConsole >= severity) {
2171
- _self[logFunc](message[_DYN_MESSAGE ]);
2172
- _messageLogged[messageKey] = true;
2173
- }
2174
- }
2175
- else {
2176
- if (_loggingLevelConsole >= severity) {
2177
- _self[logFunc](message[_DYN_MESSAGE ]);
2178
- }
2179
- }
2180
- _logInternalMessage(severity, message);
2181
- }
2182
- else {
2183
- _debugExtMsg("throw" + (severity === 1 ? "Critical" : "Warning"), message);
2184
- }
2185
- }
2186
- };
2187
- _self.debugToConsole = function (message) {
2188
- _logToConsole("debug", message);
2189
- _debugExtMsg("warning", message);
2190
- };
2191
- _self[_DYN_WARN_TO_CONSOLE ] = function (message) {
2192
- _logToConsole("warn", message);
2193
- _debugExtMsg("warning", message);
2194
- };
2195
- _self.errorToConsole = function (message) {
2196
- _logToConsole("error", message);
2197
- _debugExtMsg("error", message);
2198
- };
2199
- _self.resetInternalMessageCount = function () {
2200
- _messageCount = 0;
2201
- _messageLogged = {};
2202
- };
2203
- _self[_DYN_LOG_INTERNAL_MESSAGE ] = _logInternalMessage;
2204
- _self[_DYN_UNLOAD ] = function (isAsync) {
2205
- _unloadHandler && _unloadHandler.rm();
2206
- _unloadHandler = null;
2207
- };
2208
- function _logInternalMessage(severity, message) {
2209
- if (_areInternalMessagesThrottled()) {
2210
- return;
2211
- }
2212
- var logMessage = true;
2213
- var messageKey = AIInternalMessagePrefix + message[_DYN_MESSAGE_ID ];
2214
- if (_messageLogged[messageKey]) {
2215
- logMessage = false;
2071
+ function convertAllHeadersToMap(headersString) {
2072
+ var headers = {};
2073
+ if (isString(headersString)) {
2074
+ var headersArray = strTrim(headersString)[_DYN_SPLIT ](/[\r\n]+/);
2075
+ arrForEach(headersArray, function (headerEntry) {
2076
+ if (headerEntry) {
2077
+ var idx = headerEntry.indexOf(": ");
2078
+ if (idx !== -1) {
2079
+ var header = strTrim(headerEntry.substring(0, idx))[_DYN_TO_LOWER_CASE ]();
2080
+ var value = strTrim(headerEntry.substring(idx + 1));
2081
+ headers[header] = value;
2216
2082
  }
2217
2083
  else {
2218
- _messageLogged[messageKey] = true;
2219
- }
2220
- if (logMessage) {
2221
- if (severity <= _loggingLevelTelemetry) {
2222
- _self.queue[_DYN_PUSH ](message);
2223
- _messageCount++;
2224
- _debugExtMsg((severity === 1 ? "error" : "warn"), message);
2225
- }
2226
- if (_messageCount === _maxInternalMessageLimit) {
2227
- var throttleLimitMessage = "Internal events throttle limit per PageView reached for this app.";
2228
- var throttleMessage = new _InternalLogMessage(23 , throttleLimitMessage, false);
2229
- _self.queue[_DYN_PUSH ](throttleMessage);
2230
- if (severity === 1 ) {
2231
- _self.errorToConsole(throttleLimitMessage);
2232
- }
2233
- else {
2234
- _self[_DYN_WARN_TO_CONSOLE ](throttleLimitMessage);
2235
- }
2236
- }
2237
- }
2238
- }
2239
- function _setDefaultsFromConfig(config) {
2240
- return onConfigChange(createDynamicConfig(config, defaultValues$2, _self).cfg, function (details) {
2241
- var config = details.cfg;
2242
- _loggingLevelConsole = config[_DYN_LOGGING_LEVEL_CONSOL4 ];
2243
- _loggingLevelTelemetry = config.loggingLevelTelemetry;
2244
- _maxInternalMessageLimit = config.maxMessageLimit;
2245
- _enableDebug = config.enableDebug;
2246
- });
2247
- }
2248
- function _areInternalMessagesThrottled() {
2249
- return _messageCount >= _maxInternalMessageLimit;
2250
- }
2251
- function _debugExtMsg(name, data) {
2252
- var dbgExt = getDebugExt(config || {});
2253
- if (dbgExt && dbgExt[_DYN_DIAG_LOG ]) {
2254
- dbgExt[_DYN_DIAG_LOG ](name, data);
2084
+ headers[strTrim(headerEntry)] = 1;
2255
2085
  }
2256
2086
  }
2257
2087
  });
2258
2088
  }
2259
- DiagnosticLogger.__ieDyn=1;
2260
- return DiagnosticLogger;
2261
- }());
2262
- function _getLogger(logger) {
2263
- return (logger || new DiagnosticLogger());
2264
- }
2265
- function _throwInternal(logger, severity, msgId, msg, properties, isUserAct) {
2266
- if (isUserAct === void 0) { isUserAct = false; }
2267
- _getLogger(logger)[_DYN_THROW_INTERNAL ](severity, msgId, msg, properties, isUserAct);
2268
- }
2269
- function _warnToConsole(logger, message) {
2270
- _getLogger(logger)[_DYN_WARN_TO_CONSOLE ](message);
2271
- }
2272
- function _logInternalMessage(logger, severity, message) {
2273
- _getLogger(logger)[_DYN_LOG_INTERNAL_MESSAGE ](severity, message);
2274
- }
2275
-
2276
- var strGetPrototypeOf = "getPrototypeOf";
2277
- var rCamelCase = /-([a-z])/g;
2278
- var rNormalizeInvalid = /([^\w\d_$])/g;
2279
- var rLeadingNumeric = /^(\d+[\w\d_$])/;
2280
- var _getObjProto = Object[strGetPrototypeOf];
2281
- function isNotUndefined(value) {
2282
- return !isUndefined(value);
2283
- }
2284
- function isNotNullOrUndefined(value) {
2285
- return !isNullOrUndefined(value);
2286
- }
2287
- function normalizeJsName(name) {
2288
- var value = name;
2289
- if (value && isString(value)) {
2290
- value = value[_DYN_REPLACE ](rCamelCase, function (_all, letter) {
2291
- return letter.toUpperCase();
2292
- });
2293
- value = value[_DYN_REPLACE ](rNormalizeInvalid, "_");
2294
- value = value[_DYN_REPLACE ](rLeadingNumeric, function (_all, match) {
2295
- return "_" + match;
2296
- });
2297
- }
2298
- return value;
2299
- }
2300
- function strContains(value, search) {
2301
- if (value && search) {
2302
- return strIndexOf(value, search) !== -1;
2303
- }
2304
- return false;
2305
- }
2306
- function toISOString(date) {
2307
- return date && date.toISOString() || "";
2308
- }
2309
- function getExceptionName(object) {
2310
- if (isError(object)) {
2311
- return object[_DYN_NAME ];
2312
- }
2313
- return STR_EMPTY$1;
2089
+ return headers;
2314
2090
  }
2315
- function setValue(target, field, value, valChk, srcChk) {
2316
- var theValue = value;
2317
- if (target) {
2318
- theValue = target[field];
2319
- if (theValue !== value && (!srcChk || srcChk(theValue)) && (!valChk || valChk(value))) {
2320
- theValue = value;
2321
- target[field] = theValue;
2091
+ function _appendHeader(theHeaders, xhr, name) {
2092
+ if (!theHeaders[name] && xhr && xhr[_DYN_GET_RESPONSE_HEADER ]) {
2093
+ var value = xhr[_DYN_GET_RESPONSE_HEADER ](name);
2094
+ if (value) {
2095
+ theHeaders[name] = strTrim(value);
2322
2096
  }
2323
2097
  }
2324
- return theValue;
2098
+ return theHeaders;
2325
2099
  }
2326
- function getSetValue(target, field, defValue) {
2327
- var theValue;
2328
- if (target) {
2329
- theValue = target[field];
2330
- if (!theValue && isNullOrUndefined(theValue)) {
2331
- theValue = !isUndefined(defValue) ? defValue : {};
2332
- target[field] = theValue;
2100
+ var STR_KILL_DURATION_HEADER = "kill-duration";
2101
+ var STR_KILL_DURATION_SECONDS_HEADER = "kill-duration-seconds";
2102
+ var STR_TIME_DELTA_HEADER = "time-delta-millis";
2103
+ function _getAllResponseHeaders(xhr, isOneDs) {
2104
+ var theHeaders = {};
2105
+ if (!xhr[_DYN_GET_ALL_RESPONSE_HEA5 ]) {
2106
+ if (!!isOneDs) {
2107
+ theHeaders = _appendHeader(theHeaders, xhr, STR_TIME_DELTA_HEADER);
2108
+ theHeaders = _appendHeader(theHeaders, xhr, STR_KILL_DURATION_HEADER);
2109
+ theHeaders = _appendHeader(theHeaders, xhr, STR_KILL_DURATION_SECONDS_HEADER);
2333
2110
  }
2334
2111
  }
2335
2112
  else {
2336
- theValue = !isUndefined(defValue) ? defValue : {};
2337
- }
2338
- return theValue;
2339
- }
2340
- function _createProxyFunction(source, funcName) {
2341
- var srcFunc = null;
2342
- var src = null;
2343
- if (isFunction(source)) {
2344
- srcFunc = source;
2345
- }
2346
- else {
2347
- src = source;
2113
+ theHeaders = convertAllHeadersToMap(xhr[_DYN_GET_ALL_RESPONSE_HEA5 ]());
2348
2114
  }
2349
- return function () {
2350
- var originalArguments = arguments;
2351
- if (srcFunc) {
2352
- src = srcFunc();
2353
- }
2354
- if (src) {
2355
- return src[funcName][_DYN_APPLY ](src, originalArguments);
2356
- }
2357
- };
2115
+ return theHeaders;
2358
2116
  }
2359
- function proxyAssign(target, source, chkSet) {
2360
- if (target && source && isObject(target) && isObject(source)) {
2361
- var _loop_1 = function (field) {
2362
- if (isString(field)) {
2363
- var value = source[field];
2364
- if (isFunction(value)) {
2365
- if (!chkSet || chkSet(field, true, source, target)) {
2366
- target[field] = _createProxyFunction(source, field);
2367
- }
2368
- }
2369
- else if (!chkSet || chkSet(field, false, source, target)) {
2370
- if (objHasOwn(target, field)) {
2371
- delete target[field];
2372
- }
2373
- objDefine(target, field, {
2374
- g: function () {
2375
- return source[field];
2376
- },
2377
- s: function (theValue) {
2378
- source[field] = theValue;
2379
- }
2380
- });
2117
+
2118
+ var strDocumentMode = "documentMode";
2119
+ var strLocation = "location";
2120
+ var strConsole = "console";
2121
+ var strJSON = "JSON";
2122
+ var strCrypto = "crypto";
2123
+ var strMsCrypto = "msCrypto";
2124
+ var strReactNative = "ReactNative";
2125
+ var strMsie = "msie";
2126
+ var strTrident = "trident/";
2127
+ var strXMLHttpRequest = "XMLHttpRequest";
2128
+ var _isTrident = null;
2129
+ var _navUserAgentCheck = null;
2130
+ var _enableMocks = false;
2131
+ var _useXDomainRequest = null;
2132
+ var _beaconsSupported = null;
2133
+ function _hasProperty(theClass, property) {
2134
+ var supported = false;
2135
+ if (theClass) {
2136
+ try {
2137
+ supported = property in theClass;
2138
+ if (!supported) {
2139
+ var proto = theClass[strShimPrototype];
2140
+ if (proto) {
2141
+ supported = property in proto;
2381
2142
  }
2382
2143
  }
2383
- };
2384
- for (var field in source) {
2385
- _loop_1(field);
2144
+ }
2145
+ catch (e) {
2146
+ }
2147
+ if (!supported) {
2148
+ try {
2149
+ var tmp = new theClass();
2150
+ supported = !isUndefined(tmp[property]);
2151
+ }
2152
+ catch (e) {
2153
+ }
2386
2154
  }
2387
2155
  }
2388
- return target;
2156
+ return supported;
2389
2157
  }
2390
- function proxyFunctionAs(target, name, source, theFunc, overwriteTarget) {
2391
- if (target && name && source) {
2392
- if (overwriteTarget !== false || isUndefined(target[name])) {
2393
- target[name] = _createProxyFunction(source, theFunc);
2158
+ function setEnableEnvMocks(enabled) {
2159
+ _enableMocks = enabled;
2160
+ }
2161
+ function getLocation(checkForMock) {
2162
+ if (checkForMock && _enableMocks) {
2163
+ var mockLocation = getInst("__mockLocation");
2164
+ if (mockLocation) {
2165
+ return mockLocation;
2394
2166
  }
2395
2167
  }
2168
+ if (typeof location === strShimObject && location) {
2169
+ return location;
2170
+ }
2171
+ return getInst(strLocation);
2396
2172
  }
2397
- function proxyFunctions(target, source, functionsToProxy, overwriteTarget) {
2398
- if (target && source && isObject(target) && isArray(functionsToProxy)) {
2399
- arrForEach(functionsToProxy, function (theFuncName) {
2400
- if (isString(theFuncName)) {
2401
- proxyFunctionAs(target, theFuncName, source, theFuncName, overwriteTarget);
2402
- }
2403
- });
2173
+ function getConsole() {
2174
+ if (typeof console !== strShimUndefined) {
2175
+ return console;
2404
2176
  }
2405
- return target;
2177
+ return getInst(strConsole);
2406
2178
  }
2407
- function createClassFromInterface(defaults) {
2408
- return /** @class */ (function () {
2409
- function class_1() {
2410
- var _this = this;
2411
- if (defaults) {
2412
- objForEachKey(defaults, function (field, value) {
2413
- _this[field] = value;
2414
- });
2415
- }
2416
- }
2417
- return class_1;
2418
- }());
2179
+ function hasJSON() {
2180
+ return Boolean((typeof JSON === strShimObject && JSON) || getInst(strJSON) !== null);
2419
2181
  }
2420
- function optimizeObject(theObject) {
2421
- if (theObject && objAssign) {
2422
- theObject = ObjClass(objAssign({}, theObject));
2182
+ function getJSON() {
2183
+ if (hasJSON()) {
2184
+ return JSON || getInst(strJSON);
2423
2185
  }
2424
- return theObject;
2186
+ return null;
2425
2187
  }
2426
- function objExtend(obj1, obj2, obj3, obj4, obj5, obj6) {
2427
- var theArgs = arguments;
2428
- var extended = theArgs[0] || {};
2429
- var argLen = theArgs[_DYN_LENGTH ];
2430
- var deep = false;
2431
- var idx = 1;
2432
- if (argLen > 0 && isBoolean(extended)) {
2433
- deep = extended;
2434
- extended = theArgs[idx] || {};
2435
- idx++;
2436
- }
2437
- if (!isObject(extended)) {
2438
- extended = {};
2439
- }
2440
- for (; idx < argLen; idx++) {
2441
- var arg = theArgs[idx];
2442
- var isArgArray = isArray(arg);
2443
- var isArgObj = isObject(arg);
2444
- for (var prop in arg) {
2445
- var propOk = (isArgArray && (prop in arg)) || (isArgObj && objHasOwn(arg, prop));
2446
- if (!propOk) {
2447
- continue;
2448
- }
2449
- var newValue = arg[prop];
2450
- var isNewArray = void 0;
2451
- if (deep && newValue && ((isNewArray = isArray(newValue)) || isPlainObject(newValue))) {
2452
- var clone = extended[prop];
2453
- if (isNewArray) {
2454
- if (!isArray(clone)) {
2455
- clone = [];
2456
- }
2457
- }
2458
- else if (!isPlainObject(clone)) {
2459
- clone = {};
2460
- }
2461
- newValue = objExtend(deep, clone, newValue);
2462
- }
2463
- if (newValue !== undefined) {
2464
- extended[prop] = newValue;
2465
- }
2466
- }
2188
+ function getCrypto() {
2189
+ return getInst(strCrypto);
2190
+ }
2191
+ function getMsCrypto() {
2192
+ return getInst(strMsCrypto);
2193
+ }
2194
+ function isReactNative() {
2195
+ var nav = getNavigator();
2196
+ if (nav && nav.product) {
2197
+ return nav.product === strReactNative;
2467
2198
  }
2468
- return extended;
2199
+ return false;
2469
2200
  }
2470
- function isFeatureEnabled(feature, cfg) {
2471
- var rlt = false;
2472
- var ft = cfg && cfg.featureOptIn && cfg.featureOptIn[feature];
2473
- if (feature && ft) {
2474
- var mode = ft.mode;
2475
- rlt = (mode == 3 ) || (mode == 1 );
2201
+ function isIE() {
2202
+ var nav = getNavigator();
2203
+ if (nav && (nav[_DYN_USER_AGENT ] !== _navUserAgentCheck || _isTrident === null)) {
2204
+ _navUserAgentCheck = nav[_DYN_USER_AGENT ];
2205
+ var userAgent = (_navUserAgentCheck || STR_EMPTY$1)[_DYN_TO_LOWER_CASE ]();
2206
+ _isTrident = (strContains(userAgent, strMsie) || strContains(userAgent, strTrident));
2476
2207
  }
2477
- return rlt;
2208
+ return _isTrident;
2478
2209
  }
2479
- function getResponseText(xhr) {
2480
- try {
2481
- return xhr.responseText;
2210
+ function getIEVersion(userAgentStr) {
2211
+ if (userAgentStr === void 0) { userAgentStr = null; }
2212
+ if (!userAgentStr) {
2213
+ var navigator_1 = getNavigator() || {};
2214
+ userAgentStr = navigator_1 ? (navigator_1.userAgent || STR_EMPTY$1)[_DYN_TO_LOWER_CASE ]() : STR_EMPTY$1;
2482
2215
  }
2483
- catch (e) {
2216
+ var ua = (userAgentStr || STR_EMPTY$1)[_DYN_TO_LOWER_CASE ]();
2217
+ if (strContains(ua, strMsie)) {
2218
+ var doc = getDocument() || {};
2219
+ return Math.max(parseInt(ua[_DYN_SPLIT ](strMsie)[1]), (doc[strDocumentMode] || 0));
2220
+ }
2221
+ else if (strContains(ua, strTrident)) {
2222
+ var tridentVer = parseInt(ua[_DYN_SPLIT ](strTrident)[1]);
2223
+ if (tridentVer) {
2224
+ return tridentVer + 4;
2225
+ }
2484
2226
  }
2485
2227
  return null;
2486
2228
  }
2487
- function formatErrorMessageXdr(xdr, message) {
2488
- if (xdr) {
2489
- return "XDomainRequest,Response:" + getResponseText(xdr) || "";
2229
+ function isSafari(userAgentStr) {
2230
+ if (!userAgentStr || !isString(userAgentStr)) {
2231
+ var navigator_2 = getNavigator() || {};
2232
+ userAgentStr = navigator_2 ? (navigator_2.userAgent || STR_EMPTY$1)[_DYN_TO_LOWER_CASE ]() : STR_EMPTY$1;
2490
2233
  }
2491
- return message;
2234
+ var ua = (userAgentStr || STR_EMPTY$1)[_DYN_TO_LOWER_CASE ]();
2235
+ return (strIndexOf(ua, "safari") >= 0);
2492
2236
  }
2493
- function formatErrorMessageXhr(xhr, message) {
2494
- if (xhr) {
2495
- return "XMLHttpRequest,Status:" + xhr[_DYN_STATUS ] + ",Response:" + getResponseText(xhr) || xhr.response || "";
2237
+ function isBeaconsSupported(useCached) {
2238
+ if (_beaconsSupported === null || useCached === false) {
2239
+ _beaconsSupported = hasNavigator() && Boolean(getNavigator().sendBeacon);
2496
2240
  }
2497
- return message;
2241
+ return _beaconsSupported;
2498
2242
  }
2499
- function prependTransports(theTransports, newTransports) {
2500
- if (newTransports) {
2501
- if (isNumber(newTransports)) {
2502
- theTransports = [newTransports].concat(theTransports);
2243
+ function isFetchSupported(withKeepAlive) {
2244
+ var isSupported = false;
2245
+ try {
2246
+ isSupported = !!getInst("fetch");
2247
+ var request = getInst("Request");
2248
+ if (isSupported && withKeepAlive && request) {
2249
+ isSupported = _hasProperty(request, "keepalive");
2503
2250
  }
2504
- else if (isArray(newTransports)) {
2505
- theTransports = newTransports.concat(theTransports);
2251
+ }
2252
+ catch (e) {
2253
+ }
2254
+ return isSupported;
2255
+ }
2256
+ function useXDomainRequest() {
2257
+ if (_useXDomainRequest === null) {
2258
+ _useXDomainRequest = (typeof XDomainRequest !== strShimUndefined);
2259
+ if (_useXDomainRequest && isXhrSupported()) {
2260
+ _useXDomainRequest = _useXDomainRequest && !_hasProperty(getInst(strXMLHttpRequest), "withCredentials");
2506
2261
  }
2507
2262
  }
2508
- return theTransports;
2263
+ return _useXDomainRequest;
2509
2264
  }
2510
- function parseResponse(response, diagLog) {
2265
+ function isXhrSupported() {
2266
+ var isSupported = false;
2511
2267
  try {
2512
- if (response && response !== "") {
2513
- var result = getJSON().parse(response);
2514
- if (result && result[_DYN_ITEMS_RECEIVED ] && result[_DYN_ITEMS_RECEIVED ] >= result.itemsAccepted &&
2515
- result.itemsReceived - result.itemsAccepted === result.errors[_DYN_LENGTH ]) {
2516
- return result;
2517
- }
2518
- }
2268
+ var xmlHttpRequest = getInst(strXMLHttpRequest);
2269
+ isSupported = !!xmlHttpRequest;
2519
2270
  }
2520
2271
  catch (e) {
2521
- _throwInternal(diagLog, 1 , 43 , "Cannot parse the response. " + getExceptionName(e), {
2522
- response: response
2523
- });
2524
2272
  }
2525
- return null;
2273
+ return isSupported;
2526
2274
  }
2527
- var strDisabledPropertyName = "Microsoft_ApplicationInsights_BypassAjaxInstrumentation";
2528
- var strWithCredentials = "withCredentials";
2529
- var strTimeout = "timeout";
2530
- function openXhr(method, urlString, withCredentials, disabled, isSync, timeout) {
2531
- if (disabled === void 0) { disabled = false; }
2532
- if (isSync === void 0) { isSync = false; }
2533
- function _wrapSetXhrProp(xhr, prop, value) {
2534
- try {
2535
- xhr[prop] = value;
2536
- }
2537
- catch (e) {
2275
+ function _getNamedValue(values, name) {
2276
+ if (values) {
2277
+ for (var i = 0; i < values[_DYN_LENGTH ]; i++) {
2278
+ var value = values[i];
2279
+ if (value[_DYN_NAME ]) {
2280
+ if (value[_DYN_NAME ] === name) {
2281
+ return value;
2282
+ }
2283
+ }
2538
2284
  }
2539
2285
  }
2540
- var xhr = new XMLHttpRequest();
2541
- if (disabled) {
2542
- _wrapSetXhrProp(xhr, strDisabledPropertyName, disabled);
2543
- }
2544
- if (withCredentials) {
2545
- _wrapSetXhrProp(xhr, strWithCredentials, withCredentials);
2546
- }
2547
- xhr.open(method, urlString, !isSync);
2548
- if (withCredentials) {
2549
- _wrapSetXhrProp(xhr, strWithCredentials, withCredentials);
2286
+ return {};
2287
+ }
2288
+ function findMetaTag(name) {
2289
+ var doc = getDocument();
2290
+ if (doc && name) {
2291
+ return _getNamedValue(doc.querySelectorAll("meta"), name).content;
2550
2292
  }
2551
- if (!isSync && timeout) {
2552
- _wrapSetXhrProp(xhr, strTimeout, timeout);
2293
+ return null;
2294
+ }
2295
+ function findNamedServerTiming(name) {
2296
+ var value;
2297
+ var perf = getPerformance();
2298
+ if (perf) {
2299
+ var navPerf = perf.getEntriesByType("navigation") || [];
2300
+ value = _getNamedValue((navPerf[_DYN_LENGTH ] > 0 ? navPerf[0] : {}).serverTiming, name).description;
2553
2301
  }
2554
- return xhr;
2302
+ return value;
2555
2303
  }
2556
- function convertAllHeadersToMap(headersString) {
2557
- var headers = {};
2558
- if (isString(headersString)) {
2559
- var headersArray = strTrim(headersString)[_DYN_SPLIT ](/[\r\n]+/);
2560
- arrForEach(headersArray, function (headerEntry) {
2561
- if (headerEntry) {
2562
- var idx = headerEntry.indexOf(": ");
2563
- if (idx !== -1) {
2564
- var header = strTrim(headerEntry.substring(0, idx))[_DYN_TO_LOWER_CASE ]();
2565
- var value = strTrim(headerEntry.substring(idx + 1));
2566
- headers[header] = value;
2567
- }
2568
- else {
2569
- headers[strTrim(headerEntry)] = 1;
2570
- }
2571
- }
2572
- });
2304
+ function dispatchEvent(target, evnt) {
2305
+ if (target && target.dispatchEvent && evnt) {
2306
+ target.dispatchEvent(evnt);
2307
+ return true;
2573
2308
  }
2574
- return headers;
2309
+ return false;
2575
2310
  }
2576
- function _appendHeader(theHeaders, xhr, name) {
2577
- if (!theHeaders[name] && xhr && xhr[_DYN_GET_RESPONSE_HEADER ]) {
2578
- var value = xhr[_DYN_GET_RESPONSE_HEADER ](name);
2579
- if (value) {
2580
- theHeaders[name] = strTrim(value);
2311
+ function createCustomDomEvent(eventName, details) {
2312
+ var event = null;
2313
+ var detail = { detail: details || null };
2314
+ if (isFunction(CustomEvent)) {
2315
+ event = new CustomEvent(eventName, detail);
2316
+ }
2317
+ else {
2318
+ var doc = getDocument();
2319
+ if (doc && doc.createEvent) {
2320
+ event = doc.createEvent("CustomEvent");
2321
+ event.initCustomEvent(eventName, true, true, detail);
2581
2322
  }
2582
2323
  }
2583
- return theHeaders;
2324
+ return event;
2584
2325
  }
2585
- var STR_KILL_DURATION_HEADER = "kill-duration";
2586
- var STR_KILL_DURATION_SECONDS_HEADER = "kill-duration-seconds";
2587
- var STR_TIME_DELTA_HEADER = "time-delta-millis";
2588
- function _getAllResponseHeaders(xhr, isOneDs) {
2589
- var theHeaders = {};
2590
- if (!xhr[_DYN_GET_ALL_RESPONSE_HEA5 ]) {
2591
- if (!!isOneDs) {
2592
- theHeaders = _appendHeader(theHeaders, xhr, STR_TIME_DELTA_HEADER);
2593
- theHeaders = _appendHeader(theHeaders, xhr, STR_KILL_DURATION_HEADER);
2594
- theHeaders = _appendHeader(theHeaders, xhr, STR_KILL_DURATION_SECONDS_HEADER);
2326
+ function sendCustomEvent(evtName, cfg, customDetails) {
2327
+ var global = getGlobal();
2328
+ if (global && global.CustomEvent) {
2329
+ try {
2330
+ var details = { cfg: cfg || null, customDetails: customDetails || null };
2331
+ return dispatchEvent(global, createCustomDomEvent(evtName, details));
2332
+ }
2333
+ catch (e) {
2595
2334
  }
2596
2335
  }
2597
- else {
2598
- theHeaders = convertAllHeadersToMap(xhr[_DYN_GET_ALL_RESPONSE_HEA5 ]());
2599
- }
2600
- return theHeaders;
2336
+ return false;
2601
2337
  }
2602
2338
 
2603
2339
  var UInt32Mask = 0x100000000;
@@ -3253,6 +2989,7 @@ function _createAndUseHandler(state, configHandler) {
3253
2989
  configHandler = null;
3254
2990
  }
3255
2991
  };
2992
+ objDefine(handler, "toJSON", { v: function () { return "WatcherHandler" + (handler.fn ? "" : "[X]"); } });
3256
2993
  state.use(handler, configHandler);
3257
2994
  return handler;
3258
2995
  }
@@ -3287,161 +3024,388 @@ function _createDynamicHandler(logger, target, inPlace) {
3287
3024
  if (!isUndefined(allowUpdate)) {
3288
3025
  theState.upd = allowUpdate;
3289
3026
  }
3290
- configHandler(details);
3027
+ configHandler(details);
3028
+ }
3029
+ finally {
3030
+ theState.upd = prevUpd;
3031
+ }
3032
+ });
3033
+ }
3034
+ function _ref(target, name) {
3035
+ var _a;
3036
+ return _setDynamicPropertyState(theState, target, name, (_a = {}, _a[0 ] = true, _a))[name];
3037
+ }
3038
+ function _rdOnly(target, name) {
3039
+ var _a;
3040
+ return _setDynamicPropertyState(theState, target, name, (_a = {}, _a[1 ] = true, _a))[name];
3041
+ }
3042
+ function _blkPropValue(target, name) {
3043
+ var _a;
3044
+ return _setDynamicPropertyState(theState, target, name, (_a = {}, _a[2 ] = true, _a))[name];
3045
+ }
3046
+ function _applyDefaults(theConfig, defaultValues) {
3047
+ if (defaultValues) {
3048
+ objForEachKey(defaultValues, function (name, value) {
3049
+ _applyDefaultValue(cfgHandler, theConfig, name, value);
3050
+ });
3051
+ }
3052
+ return theConfig;
3053
+ }
3054
+ var cfgHandler = (_a = {
3055
+ uid: null,
3056
+ cfg: newTarget
3057
+ },
3058
+ _a[_DYN_LOGGER ] = logger,
3059
+ _a[_DYN_NOTIFY ] = _notifyWatchers,
3060
+ _a.set = _setValue,
3061
+ _a[_DYN_SET_DF ] = _applyDefaults,
3062
+ _a[_DYN_WATCH ] = _watch,
3063
+ _a.ref = _ref,
3064
+ _a[_DYN_RD_ONLY ] = _rdOnly,
3065
+ _a[_DYN_BLK_VAL ] = _blkPropValue,
3066
+ _a._block = _block,
3067
+ _a);
3068
+ objDefine(cfgHandler, "uid", {
3069
+ c: false,
3070
+ e: false,
3071
+ w: false,
3072
+ v: uid
3073
+ });
3074
+ theState = _createState(cfgHandler);
3075
+ _makeDynamicObject(theState, newTarget, "config", "Creating");
3076
+ return cfgHandler;
3077
+ }
3078
+ function _logInvalidAccess(logger, message) {
3079
+ if (logger) {
3080
+ logger[_DYN_WARN_TO_CONSOLE ](message);
3081
+ logger[_DYN_THROW_INTERNAL ](2 , 108 , message);
3082
+ }
3083
+ else {
3084
+ throwInvalidAccess(message);
3085
+ }
3086
+ }
3087
+ function createDynamicConfig(config, defaultConfig, logger, inPlace) {
3088
+ var dynamicHandler = _createDynamicHandler(logger, config || {}, inPlace);
3089
+ if (defaultConfig) {
3090
+ dynamicHandler[_DYN_SET_DF ](dynamicHandler.cfg, defaultConfig);
3091
+ }
3092
+ return dynamicHandler;
3093
+ }
3094
+ function onConfigChange(config, configHandler, logger) {
3095
+ var handler = config[CFG_HANDLER_LINK] || config;
3096
+ if (handler.cfg && (handler.cfg === config || handler.cfg[CFG_HANDLER_LINK] === handler)) {
3097
+ return handler[_DYN_WATCH ](configHandler);
3098
+ }
3099
+ _logInvalidAccess(logger, STR_NOT_DYNAMIC_ERROR + dumpObj(config));
3100
+ return createDynamicConfig(config, null, logger)[_DYN_WATCH ](configHandler);
3101
+ }
3102
+
3103
+ function runTargetUnload(target, isAsync) {
3104
+ if (target && target[_DYN_UNLOAD ]) {
3105
+ return target[_DYN_UNLOAD ](isAsync);
3106
+ }
3107
+ }
3108
+ function doUnloadAll(targets, isAsync, done) {
3109
+ var result;
3110
+ if (!done) {
3111
+ result = createPromise(function (resolved) {
3112
+ done = resolved;
3113
+ });
3114
+ }
3115
+ if (targets && getLength(targets) > 0) {
3116
+ doAwaitResponse(runTargetUnload(targets[0], isAsync), function () {
3117
+ doUnloadAll(arrSlice(targets, 1), isAsync, done);
3118
+ });
3119
+ }
3120
+ else {
3121
+ done();
3122
+ }
3123
+ return result;
3124
+ }
3125
+
3126
+ var ChannelControllerPriority = 500;
3127
+ var DisabledPropertyName = "Microsoft_ApplicationInsights_BypassAjaxInstrumentation";
3128
+
3129
+ function _stringToBoolOrDefault(theValue, defaultValue, theConfig) {
3130
+ if (!theValue && isNullOrUndefined(theValue)) {
3131
+ return defaultValue;
3132
+ }
3133
+ if (isBoolean(theValue)) {
3134
+ return theValue;
3135
+ }
3136
+ return asString(theValue)[_DYN_TO_LOWER_CASE ]() === "true";
3137
+ }
3138
+ function cfgDfMerge(defaultValue) {
3139
+ return {
3140
+ mrg: true,
3141
+ v: defaultValue
3142
+ };
3143
+ }
3144
+ function cfgDfSet(setter, defaultValue) {
3145
+ return {
3146
+ set: setter,
3147
+ v: defaultValue
3148
+ };
3149
+ }
3150
+ function cfgDfValidate(validator, defaultValue, fallBackName) {
3151
+ return {
3152
+ fb: fallBackName,
3153
+ isVal: validator,
3154
+ v: defaultValue
3155
+ };
3156
+ }
3157
+ function cfgDfBoolean(defaultValue, fallBackName) {
3158
+ return {
3159
+ fb: fallBackName,
3160
+ set: _stringToBoolOrDefault,
3161
+ v: !!defaultValue
3162
+ };
3163
+ }
3164
+ function cfgDfFunc(defaultValue) {
3165
+ return {
3166
+ isVal: isFunction,
3167
+ v: defaultValue || null
3168
+ };
3169
+ }
3170
+ function cfgDfString(defaultValue) {
3171
+ return {
3172
+ isVal: isString,
3173
+ v: asString(defaultValue || STR_EMPTY$1)
3174
+ };
3175
+ }
3176
+ function cfgDfBlockPropValue(defaultValue) {
3177
+ var _a;
3178
+ return _a = {},
3179
+ _a[_DYN_BLK_VAL ] = true,
3180
+ _a.v = defaultValue,
3181
+ _a;
3182
+ }
3183
+
3184
+ var listenerFuncs = [STR_EVENTS_SENT, STR_EVENTS_DISCARDED, STR_EVENTS_SEND_REQUEST, STR_PERF_EVENT];
3185
+ var _aiNamespace = null;
3186
+ var _debugListener;
3187
+ function _listenerProxyFunc(name, config) {
3188
+ return function () {
3189
+ var args = arguments;
3190
+ var dbgExt = getDebugExt(config);
3191
+ if (dbgExt) {
3192
+ var listener = dbgExt.listener;
3193
+ if (listener && listener[name]) {
3194
+ listener[name][_DYN_APPLY ](listener, args);
3195
+ }
3196
+ }
3197
+ };
3198
+ }
3199
+ function _getExtensionNamespace() {
3200
+ var target = getInst("Microsoft");
3201
+ if (target) {
3202
+ _aiNamespace = target["ApplicationInsights"];
3203
+ }
3204
+ return _aiNamespace;
3205
+ }
3206
+ function getDebugExt(config) {
3207
+ var ns = _aiNamespace;
3208
+ if (!ns && config.disableDbgExt !== true) {
3209
+ ns = _aiNamespace || _getExtensionNamespace();
3210
+ }
3211
+ return ns ? ns["ChromeDbgExt"] : null;
3212
+ }
3213
+ function getDebugListener(config) {
3214
+ if (!_debugListener) {
3215
+ _debugListener = {};
3216
+ for (var lp = 0; lp < listenerFuncs[_DYN_LENGTH ]; lp++) {
3217
+ _debugListener[listenerFuncs[lp]] = _listenerProxyFunc(listenerFuncs[lp], config);
3218
+ }
3219
+ }
3220
+ return _debugListener;
3221
+ }
3222
+
3223
+ var _a$3;
3224
+ var STR_WARN_TO_CONSOLE = "warnToConsole";
3225
+ var AiNonUserActionablePrefix = "AI (Internal): ";
3226
+ var AiUserActionablePrefix = "AI: ";
3227
+ var AIInternalMessagePrefix = "AITR_";
3228
+ var defaultValues$2 = {
3229
+ loggingLevelConsole: 0,
3230
+ loggingLevelTelemetry: 1,
3231
+ maxMessageLimit: 25,
3232
+ enableDebug: false
3233
+ };
3234
+ var _logFuncs = (_a$3 = {},
3235
+ _a$3[0 ] = null,
3236
+ _a$3[1 ] = "errorToConsole",
3237
+ _a$3[2 ] = STR_WARN_TO_CONSOLE,
3238
+ _a$3[3 ] = "debugToConsole",
3239
+ _a$3);
3240
+ function _sanitizeDiagnosticText(text) {
3241
+ if (text) {
3242
+ return "\"" + text[_DYN_REPLACE ](/\"/g, STR_EMPTY$1) + "\"";
3243
+ }
3244
+ return STR_EMPTY$1;
3245
+ }
3246
+ function _logToConsole(func, message) {
3247
+ var theConsole = getConsole();
3248
+ if (!!theConsole) {
3249
+ var logFunc = "log";
3250
+ if (theConsole[func]) {
3251
+ logFunc = func;
3252
+ }
3253
+ if (isFunction(theConsole[logFunc])) {
3254
+ theConsole[logFunc](message);
3255
+ }
3256
+ }
3257
+ }
3258
+ var _InternalLogMessage = /** @class */ (function () {
3259
+ function _InternalLogMessage(msgId, msg, isUserAct, properties) {
3260
+ if (isUserAct === void 0) { isUserAct = false; }
3261
+ var _self = this;
3262
+ _self[_DYN_MESSAGE_ID ] = msgId;
3263
+ _self[_DYN_MESSAGE ] =
3264
+ (isUserAct ? AiUserActionablePrefix : AiNonUserActionablePrefix) +
3265
+ msgId;
3266
+ var strProps = STR_EMPTY$1;
3267
+ if (hasJSON()) {
3268
+ strProps = getJSON().stringify(properties);
3269
+ }
3270
+ var diagnosticText = (msg ? " message:" + _sanitizeDiagnosticText(msg) : STR_EMPTY$1) +
3271
+ (properties ? " props:" + _sanitizeDiagnosticText(strProps) : STR_EMPTY$1);
3272
+ _self[_DYN_MESSAGE ] += diagnosticText;
3273
+ }
3274
+ _InternalLogMessage.dataType = "MessageData";
3275
+ return _InternalLogMessage;
3276
+ }());
3277
+ function safeGetLogger(core, config) {
3278
+ return (core || {})[_DYN_LOGGER ] || new DiagnosticLogger(config);
3279
+ }
3280
+ var DiagnosticLogger = /** @class */ (function () {
3281
+ function DiagnosticLogger(config) {
3282
+ this.identifier = "DiagnosticLogger";
3283
+ this.queue = [];
3284
+ var _messageCount = 0;
3285
+ var _messageLogged = {};
3286
+ var _loggingLevelConsole;
3287
+ var _loggingLevelTelemetry;
3288
+ var _maxInternalMessageLimit;
3289
+ var _enableDebug;
3290
+ var _unloadHandler;
3291
+ dynamicProto(DiagnosticLogger, this, function (_self) {
3292
+ _unloadHandler = _setDefaultsFromConfig(config || {});
3293
+ _self.consoleLoggingLevel = function () { return _loggingLevelConsole; };
3294
+ _self[_DYN_THROW_INTERNAL ] = function (severity, msgId, msg, properties, isUserAct) {
3295
+ if (isUserAct === void 0) { isUserAct = false; }
3296
+ var message = new _InternalLogMessage(msgId, msg, isUserAct, properties);
3297
+ if (_enableDebug) {
3298
+ throw dumpObj(message);
3299
+ }
3300
+ else {
3301
+ var logFunc = _logFuncs[severity] || STR_WARN_TO_CONSOLE;
3302
+ if (!isUndefined(message[_DYN_MESSAGE ])) {
3303
+ if (isUserAct) {
3304
+ var messageKey = +message[_DYN_MESSAGE_ID ];
3305
+ if (!_messageLogged[messageKey] && _loggingLevelConsole >= severity) {
3306
+ _self[logFunc](message[_DYN_MESSAGE ]);
3307
+ _messageLogged[messageKey] = true;
3308
+ }
3309
+ }
3310
+ else {
3311
+ if (_loggingLevelConsole >= severity) {
3312
+ _self[logFunc](message[_DYN_MESSAGE ]);
3313
+ }
3314
+ }
3315
+ _logInternalMessage(severity, message);
3316
+ }
3317
+ else {
3318
+ _debugExtMsg("throw" + (severity === 1 ? "Critical" : "Warning"), message);
3319
+ }
3320
+ }
3321
+ };
3322
+ _self.debugToConsole = function (message) {
3323
+ _logToConsole("debug", message);
3324
+ _debugExtMsg("warning", message);
3325
+ };
3326
+ _self[_DYN_WARN_TO_CONSOLE ] = function (message) {
3327
+ _logToConsole("warn", message);
3328
+ _debugExtMsg("warning", message);
3329
+ };
3330
+ _self.errorToConsole = function (message) {
3331
+ _logToConsole("error", message);
3332
+ _debugExtMsg("error", message);
3333
+ };
3334
+ _self.resetInternalMessageCount = function () {
3335
+ _messageCount = 0;
3336
+ _messageLogged = {};
3337
+ };
3338
+ _self[_DYN_LOG_INTERNAL_MESSAGE ] = _logInternalMessage;
3339
+ _self[_DYN_UNLOAD ] = function (isAsync) {
3340
+ _unloadHandler && _unloadHandler.rm();
3341
+ _unloadHandler = null;
3342
+ };
3343
+ function _logInternalMessage(severity, message) {
3344
+ if (_areInternalMessagesThrottled()) {
3345
+ return;
3346
+ }
3347
+ var logMessage = true;
3348
+ var messageKey = AIInternalMessagePrefix + message[_DYN_MESSAGE_ID ];
3349
+ if (_messageLogged[messageKey]) {
3350
+ logMessage = false;
3351
+ }
3352
+ else {
3353
+ _messageLogged[messageKey] = true;
3354
+ }
3355
+ if (logMessage) {
3356
+ if (severity <= _loggingLevelTelemetry) {
3357
+ _self.queue[_DYN_PUSH ](message);
3358
+ _messageCount++;
3359
+ _debugExtMsg((severity === 1 ? "error" : "warn"), message);
3360
+ }
3361
+ if (_messageCount === _maxInternalMessageLimit) {
3362
+ var throttleLimitMessage = "Internal events throttle limit per PageView reached for this app.";
3363
+ var throttleMessage = new _InternalLogMessage(23 , throttleLimitMessage, false);
3364
+ _self.queue[_DYN_PUSH ](throttleMessage);
3365
+ if (severity === 1 ) {
3366
+ _self.errorToConsole(throttleLimitMessage);
3367
+ }
3368
+ else {
3369
+ _self[_DYN_WARN_TO_CONSOLE ](throttleLimitMessage);
3370
+ }
3371
+ }
3372
+ }
3291
3373
  }
3292
- finally {
3293
- theState.upd = prevUpd;
3374
+ function _setDefaultsFromConfig(config) {
3375
+ return onConfigChange(createDynamicConfig(config, defaultValues$2, _self).cfg, function (details) {
3376
+ var config = details.cfg;
3377
+ _loggingLevelConsole = config[_DYN_LOGGING_LEVEL_CONSOL4 ];
3378
+ _loggingLevelTelemetry = config.loggingLevelTelemetry;
3379
+ _maxInternalMessageLimit = config.maxMessageLimit;
3380
+ _enableDebug = config.enableDebug;
3381
+ });
3382
+ }
3383
+ function _areInternalMessagesThrottled() {
3384
+ return _messageCount >= _maxInternalMessageLimit;
3385
+ }
3386
+ function _debugExtMsg(name, data) {
3387
+ var dbgExt = getDebugExt(config || {});
3388
+ if (dbgExt && dbgExt[_DYN_DIAG_LOG ]) {
3389
+ dbgExt[_DYN_DIAG_LOG ](name, data);
3390
+ }
3294
3391
  }
3295
3392
  });
3296
3393
  }
3297
- function _ref(target, name) {
3298
- var _a;
3299
- return _setDynamicPropertyState(theState, target, name, (_a = {}, _a[0 ] = true, _a))[name];
3300
- }
3301
- function _rdOnly(target, name) {
3302
- var _a;
3303
- return _setDynamicPropertyState(theState, target, name, (_a = {}, _a[1 ] = true, _a))[name];
3304
- }
3305
- function _blkPropValue(target, name) {
3306
- var _a;
3307
- return _setDynamicPropertyState(theState, target, name, (_a = {}, _a[2 ] = true, _a))[name];
3308
- }
3309
- function _applyDefaults(theConfig, defaultValues) {
3310
- if (defaultValues) {
3311
- objForEachKey(defaultValues, function (name, value) {
3312
- _applyDefaultValue(cfgHandler, theConfig, name, value);
3313
- });
3314
- }
3315
- return theConfig;
3316
- }
3317
- var cfgHandler = (_a = {
3318
- uid: null,
3319
- cfg: newTarget
3320
- },
3321
- _a[_DYN_LOGGER ] = logger,
3322
- _a[_DYN_NOTIFY ] = _notifyWatchers,
3323
- _a.set = _setValue,
3324
- _a[_DYN_SET_DF ] = _applyDefaults,
3325
- _a[_DYN_WATCH ] = _watch,
3326
- _a.ref = _ref,
3327
- _a[_DYN_RD_ONLY ] = _rdOnly,
3328
- _a[_DYN_BLK_VAL ] = _blkPropValue,
3329
- _a._block = _block,
3330
- _a);
3331
- objDefine(cfgHandler, "uid", {
3332
- c: false,
3333
- e: false,
3334
- w: false,
3335
- v: uid
3336
- });
3337
- theState = _createState(cfgHandler);
3338
- _makeDynamicObject(theState, newTarget, "config", "Creating");
3339
- return cfgHandler;
3340
- }
3341
- function _logInvalidAccess(logger, message) {
3342
- if (logger) {
3343
- logger[_DYN_WARN_TO_CONSOLE ](message);
3344
- logger[_DYN_THROW_INTERNAL ](2 , 108 , message);
3345
- }
3346
- else {
3347
- throwInvalidAccess(message);
3348
- }
3349
- }
3350
- function createDynamicConfig(config, defaultConfig, logger, inPlace) {
3351
- var dynamicHandler = _createDynamicHandler(logger, config || {}, inPlace);
3352
- if (defaultConfig) {
3353
- dynamicHandler[_DYN_SET_DF ](dynamicHandler.cfg, defaultConfig);
3354
- }
3355
- return dynamicHandler;
3356
- }
3357
- function onConfigChange(config, configHandler, logger) {
3358
- var handler = config[CFG_HANDLER_LINK] || config;
3359
- if (handler.cfg && (handler.cfg === config || handler.cfg[CFG_HANDLER_LINK] === handler)) {
3360
- return handler[_DYN_WATCH ](configHandler);
3361
- }
3362
- _logInvalidAccess(logger, STR_NOT_DYNAMIC_ERROR + dumpObj(config));
3363
- return createDynamicConfig(config, null, logger)[_DYN_WATCH ](configHandler);
3364
- }
3365
-
3366
- function runTargetUnload(target, isAsync) {
3367
- if (target && target[_DYN_UNLOAD ]) {
3368
- return target[_DYN_UNLOAD ](isAsync);
3369
- }
3370
- }
3371
- function doUnloadAll(targets, isAsync, done) {
3372
- var result;
3373
- if (!done) {
3374
- result = createPromise(function (resolved) {
3375
- done = resolved;
3376
- });
3377
- }
3378
- if (targets && getLength(targets) > 0) {
3379
- doAwaitResponse(runTargetUnload(targets[0], isAsync), function () {
3380
- doUnloadAll(arrSlice(targets, 1), isAsync, done);
3381
- });
3382
- }
3383
- else {
3384
- done();
3385
- }
3386
- return result;
3387
- }
3388
-
3389
- var ChannelControllerPriority = 500;
3390
- var DisabledPropertyName = "Microsoft_ApplicationInsights_BypassAjaxInstrumentation";
3391
-
3392
- function _stringToBoolOrDefault(theValue, defaultValue, theConfig) {
3393
- if (!theValue && isNullOrUndefined(theValue)) {
3394
- return defaultValue;
3395
- }
3396
- if (isBoolean(theValue)) {
3397
- return theValue;
3398
- }
3399
- return asString(theValue)[_DYN_TO_LOWER_CASE ]() === "true";
3400
- }
3401
- function cfgDfMerge(defaultValue) {
3402
- return {
3403
- mrg: true,
3404
- v: defaultValue
3405
- };
3406
- }
3407
- function cfgDfSet(setter, defaultValue) {
3408
- return {
3409
- set: setter,
3410
- v: defaultValue
3411
- };
3412
- }
3413
- function cfgDfValidate(validator, defaultValue, fallBackName) {
3414
- return {
3415
- fb: fallBackName,
3416
- isVal: validator,
3417
- v: defaultValue
3418
- };
3419
- }
3420
- function cfgDfBoolean(defaultValue, fallBackName) {
3421
- return {
3422
- fb: fallBackName,
3423
- set: _stringToBoolOrDefault,
3424
- v: !!defaultValue
3425
- };
3394
+ DiagnosticLogger.__ieDyn=1;
3395
+ return DiagnosticLogger;
3396
+ }());
3397
+ function _getLogger(logger) {
3398
+ return (logger || new DiagnosticLogger());
3426
3399
  }
3427
- function cfgDfFunc(defaultValue) {
3428
- return {
3429
- isVal: isFunction,
3430
- v: defaultValue || null
3431
- };
3400
+ function _throwInternal(logger, severity, msgId, msg, properties, isUserAct) {
3401
+ if (isUserAct === void 0) { isUserAct = false; }
3402
+ _getLogger(logger)[_DYN_THROW_INTERNAL ](severity, msgId, msg, properties, isUserAct);
3432
3403
  }
3433
- function cfgDfString(defaultValue) {
3434
- return {
3435
- isVal: isString,
3436
- v: asString(defaultValue || STR_EMPTY$1)
3437
- };
3404
+ function _warnToConsole(logger, message) {
3405
+ _getLogger(logger)[_DYN_WARN_TO_CONSOLE ](message);
3438
3406
  }
3439
- function cfgDfBlockPropValue(defaultValue) {
3440
- var _a;
3441
- return _a = {},
3442
- _a[_DYN_BLK_VAL ] = true,
3443
- _a.v = defaultValue,
3444
- _a;
3407
+ function _logInternalMessage(logger, severity, message) {
3408
+ _getLogger(logger)[_DYN_LOG_INTERNAL_MESSAGE ](severity, message);
3445
3409
  }
3446
3410
 
3447
3411
  var _a$2, _b;
@@ -3743,18 +3707,26 @@ function uaDisallowsSameSiteNone(userAgent) {
3743
3707
  var defaultValues$1 = {
3744
3708
  perfEvtsSendAll: false
3745
3709
  };
3746
- function _runListeners(listeners, name, isAsync, callback) {
3710
+ function _runScheduledListeners(asyncNotifications) {
3711
+ asyncNotifications.h = null;
3712
+ var callbacks = asyncNotifications.cb;
3713
+ asyncNotifications.cb = [];
3714
+ arrForEach(callbacks, function (cb) {
3715
+ safe(cb.fn, [cb.arg]);
3716
+ });
3717
+ }
3718
+ function _runListeners(listeners, name, asyncNotifications, callback) {
3747
3719
  arrForEach(listeners, function (listener) {
3748
3720
  if (listener && listener[name]) {
3749
- if (isAsync) {
3750
- scheduleTimeout(function () { return callback(listener); }, 0);
3721
+ if (asyncNotifications) {
3722
+ asyncNotifications.cb[_DYN_PUSH ]({
3723
+ fn: callback,
3724
+ arg: listener
3725
+ });
3726
+ asyncNotifications.h = asyncNotifications.h || scheduleTimeout(_runScheduledListeners, 0, asyncNotifications);
3751
3727
  }
3752
3728
  else {
3753
- try {
3754
- callback(listener);
3755
- }
3756
- catch (e) {
3757
- }
3729
+ safe(callback, [listener]);
3758
3730
  }
3759
3731
  }
3760
3732
  });
@@ -3765,6 +3737,10 @@ var NotificationManager = /** @class */ (function () {
3765
3737
  var perfEvtsSendAll;
3766
3738
  var unloadHandler;
3767
3739
  var _listeners = [];
3740
+ var _asyncNotifications = {
3741
+ h: null,
3742
+ cb: []
3743
+ };
3768
3744
  var cfgHandler = createDynamicConfig(config, defaultValues$1);
3769
3745
  unloadHandler = cfgHandler[_DYN_WATCH ](function (details) {
3770
3746
  perfEvtsSendAll = !!details.cfg.perfEvtsSendAll;
@@ -3776,7 +3752,7 @@ var NotificationManager = /** @class */ (function () {
3776
3752
  _self[_DYN_ADD_NOTIFICATION_LIS1 ] = function (listener) {
3777
3753
  _listeners[_DYN_PUSH ](listener);
3778
3754
  };
3779
- _self[_DYN_REMOVE_NOTIFICATION_2 ] = function (listener) {
3755
+ _self[_DYN_REMOVE_NOTIFICATION_0 ] = function (listener) {
3780
3756
  var index = arrIndexOf(_listeners, listener);
3781
3757
  while (index > -1) {
3782
3758
  _listeners[_DYN_SPLICE ](index, 1);
@@ -3784,24 +3760,24 @@ var NotificationManager = /** @class */ (function () {
3784
3760
  }
3785
3761
  };
3786
3762
  _self[STR_EVENTS_SENT ] = function (events) {
3787
- _runListeners(_listeners, STR_EVENTS_SENT, true, function (listener) {
3763
+ _runListeners(_listeners, STR_EVENTS_SENT, _asyncNotifications, function (listener) {
3788
3764
  listener[STR_EVENTS_SENT ](events);
3789
3765
  });
3790
3766
  };
3791
3767
  _self[STR_EVENTS_DISCARDED ] = function (events, reason) {
3792
- _runListeners(_listeners, STR_EVENTS_DISCARDED, true, function (listener) {
3768
+ _runListeners(_listeners, STR_EVENTS_DISCARDED, _asyncNotifications, function (listener) {
3793
3769
  listener[STR_EVENTS_DISCARDED ](events, reason);
3794
3770
  });
3795
3771
  };
3796
3772
  _self[STR_EVENTS_SEND_REQUEST ] = function (sendReason, isAsync) {
3797
- _runListeners(_listeners, STR_EVENTS_SEND_REQUEST, isAsync, function (listener) {
3773
+ _runListeners(_listeners, STR_EVENTS_SEND_REQUEST, isAsync ? _asyncNotifications : null, function (listener) {
3798
3774
  listener[STR_EVENTS_SEND_REQUEST ](sendReason, isAsync);
3799
3775
  });
3800
3776
  };
3801
3777
  _self[STR_PERF_EVENT ] = function (perfEvent) {
3802
3778
  if (perfEvent) {
3803
3779
  if (perfEvtsSendAll || !perfEvent[_DYN_IS_CHILD_EVT ]()) {
3804
- _runListeners(_listeners, STR_PERF_EVENT, false, function (listener) {
3780
+ _runListeners(_listeners, STR_PERF_EVENT, null, function (listener) {
3805
3781
  if (perfEvent[_DYN_IS_ASYNC ]) {
3806
3782
  scheduleTimeout(function () { return listener[STR_PERF_EVENT ](perfEvent); }, 0);
3807
3783
  }
@@ -3814,14 +3790,14 @@ var NotificationManager = /** @class */ (function () {
3814
3790
  };
3815
3791
  _self[STR_OFFLINE_STORE ] = function (events) {
3816
3792
  if (events && events[_DYN_LENGTH ]) {
3817
- _runListeners(_listeners, STR_OFFLINE_STORE, true, function (listener) {
3793
+ _runListeners(_listeners, STR_OFFLINE_STORE, _asyncNotifications, function (listener) {
3818
3794
  listener[STR_OFFLINE_STORE ](events);
3819
3795
  });
3820
3796
  }
3821
3797
  };
3822
3798
  _self[STR_OFFLINE_SENT ] = function (batch) {
3823
3799
  if (batch && batch[_DYN_DATA ]) {
3824
- _runListeners(_listeners, STR_OFFLINE_SENT, true, function (listener) {
3800
+ _runListeners(_listeners, STR_OFFLINE_SENT, _asyncNotifications, function (listener) {
3825
3801
  listener[STR_OFFLINE_SENT ](batch);
3826
3802
  });
3827
3803
  }
@@ -3829,7 +3805,7 @@ var NotificationManager = /** @class */ (function () {
3829
3805
  _self[STR_OFFLINE_DROP ] = function (cnt, reason) {
3830
3806
  if (cnt > 0) {
3831
3807
  var rn_1 = reason || 0;
3832
- _runListeners(_listeners, STR_OFFLINE_DROP, true, function (listener) {
3808
+ _runListeners(_listeners, STR_OFFLINE_DROP, _asyncNotifications, function (listener) {
3833
3809
  listener[STR_OFFLINE_DROP ](cnt, rn_1);
3834
3810
  });
3835
3811
  }
@@ -3839,9 +3815,12 @@ var NotificationManager = /** @class */ (function () {
3839
3815
  unloadHandler && unloadHandler.rm();
3840
3816
  unloadHandler = null;
3841
3817
  _listeners = [];
3818
+ _asyncNotifications.h && _asyncNotifications.h[_DYN_CANCEL ]();
3819
+ _asyncNotifications.h = null;
3820
+ _asyncNotifications.cb = [];
3842
3821
  };
3843
3822
  var waiting;
3844
- _runListeners(_listeners, "unload", false, function (listener) {
3823
+ _runListeners(_listeners, "unload", null, function (listener) {
3845
3824
  var asyncUnload = listener[_DYN_UNLOAD ](isAsync);
3846
3825
  if (asyncUnload) {
3847
3826
  if (!waiting) {
@@ -4655,6 +4634,12 @@ function createUnloadHandlerContainer() {
4655
4634
  };
4656
4635
  }
4657
4636
 
4637
+ var _maxHooks;
4638
+ var _hookAddMonitor;
4639
+ function _testHookMaxUnloadHooksCb(maxHooks, addMonitor) {
4640
+ _maxHooks = maxHooks;
4641
+ _hookAddMonitor = addMonitor;
4642
+ }
4658
4643
  function createUnloadHookContainer() {
4659
4644
  var _hooks = [];
4660
4645
  function _doUnload(logger) {
@@ -4668,10 +4653,16 @@ function createUnloadHookContainer() {
4668
4653
  _throwInternal(logger, 2 , 73 , "Unloading:" + dumpObj(e));
4669
4654
  }
4670
4655
  });
4656
+ if (_maxHooks && oldHooks[_DYN_LENGTH ] > _maxHooks) {
4657
+ _hookAddMonitor ? _hookAddMonitor("doUnload", oldHooks) : _throwInternal(null, 1 , 48 , "Max unload hooks exceeded. An excessive number of unload hooks has been detected.");
4658
+ }
4671
4659
  }
4672
4660
  function _addHook(hooks) {
4673
4661
  if (hooks) {
4674
4662
  arrAppend(_hooks, hooks);
4663
+ if (_maxHooks && _hooks[_DYN_LENGTH ] > _maxHooks) {
4664
+ _hookAddMonitor ? _hookAddMonitor("Add", _hooks) : _throwInternal(null, 1 , 48 , "Max unload hooks exceeded. An excessive number of unload hooks has been detected.");
4665
+ }
4675
4666
  }
4676
4667
  }
4677
4668
  return {
@@ -4799,7 +4790,7 @@ var BaseTelemetryPlugin = /** @class */ (function () {
4799
4790
  function _setDefaults(config, core, pluginChain) {
4800
4791
  createDynamicConfig(config, defaultValues, safeGetLogger(core));
4801
4792
  if (!pluginChain && core) {
4802
- pluginChain = core[_DYN_GET_PROCESS_TEL_CONT0 ]()[_DYN_GET_NEXT ]();
4793
+ pluginChain = core[_DYN_GET_PROCESS_TEL_CONT2 ]()[_DYN_GET_NEXT ]();
4803
4794
  }
4804
4795
  var nextPlugin = _nextPlugin;
4805
4796
  if (_nextPlugin && _nextPlugin[strGetPlugin]) {
@@ -5003,6 +4994,27 @@ function _registerDelayedCfgListener(config, listeners, logger) {
5003
4994
  };
5004
4995
  });
5005
4996
  }
4997
+ function _initDebugListener(configHandler, unloadContainer, notificationManager, debugListener) {
4998
+ unloadContainer.add(configHandler[_DYN_WATCH ](function (details) {
4999
+ var disableDbgExt = details.cfg.disableDbgExt;
5000
+ if (disableDbgExt === true && debugListener) {
5001
+ notificationManager[_DYN_REMOVE_NOTIFICATION_0 ](debugListener);
5002
+ debugListener = null;
5003
+ }
5004
+ if (notificationManager && !debugListener && disableDbgExt !== true) {
5005
+ debugListener = getDebugListener(details.cfg);
5006
+ notificationManager[_DYN_ADD_NOTIFICATION_LIS1 ](debugListener);
5007
+ }
5008
+ }));
5009
+ return debugListener;
5010
+ }
5011
+ function _createUnloadHook(unloadHook) {
5012
+ return objDefine({
5013
+ rm: function () {
5014
+ unloadHook.rm();
5015
+ }
5016
+ }, "toJSON", { v: function () { return "aicore::onCfgChange<" + JSON.stringify(unloadHook) + ">"; } });
5017
+ }
5006
5018
  var AppInsightsCore = /** @class */ (function () {
5007
5019
  function AppInsightsCore() {
5008
5020
  var _configHandler;
@@ -5059,7 +5071,7 @@ var AppInsightsCore = /** @class */ (function () {
5059
5071
  }
5060
5072
  }));
5061
5073
  _notificationManager = notificationManager;
5062
- _initDebugListener();
5074
+ _debugListener = _initDebugListener(_configHandler, _hookContainer, _notificationManager && _self[_DYN_GET_NOTIFY_MGR ](), _debugListener);
5063
5075
  _initPerfManager();
5064
5076
  _self[_DYN_LOGGER ] = logger;
5065
5077
  var cfgExtensions = config[STR_EXTENSIONS ];
@@ -5112,7 +5124,7 @@ var AppInsightsCore = /** @class */ (function () {
5112
5124
  }
5113
5125
  }, function () { return ({ item: telemetryItem }); }, !(telemetryItem.sync));
5114
5126
  };
5115
- _self[_DYN_GET_PROCESS_TEL_CONT0 ] = _createTelCtx;
5127
+ _self[_DYN_GET_PROCESS_TEL_CONT2 ] = _createTelCtx;
5116
5128
  _self[_DYN_GET_NOTIFY_MGR ] = function () {
5117
5129
  if (!_notificationManager) {
5118
5130
  _notificationManager = new NotificationManager(_configHandler.cfg);
@@ -5121,11 +5133,11 @@ var AppInsightsCore = /** @class */ (function () {
5121
5133
  return _notificationManager;
5122
5134
  };
5123
5135
  _self[_DYN_ADD_NOTIFICATION_LIS1 ] = function (listener) {
5124
- _self[_DYN_GET_NOTIFY_MGR ]()[_DYN_ADD_NOTIFICATION_LIS1 ](listener);
5136
+ _self.getNotifyMgr()[_DYN_ADD_NOTIFICATION_LIS1 ](listener);
5125
5137
  };
5126
- _self[_DYN_REMOVE_NOTIFICATION_2 ] = function (listener) {
5138
+ _self[_DYN_REMOVE_NOTIFICATION_0 ] = function (listener) {
5127
5139
  if (_notificationManager) {
5128
- _notificationManager[_DYN_REMOVE_NOTIFICATION_2 ](listener);
5140
+ _notificationManager[_DYN_REMOVE_NOTIFICATION_0 ](listener);
5129
5141
  }
5130
5142
  };
5131
5143
  _self.getCookieMgr = function () {
@@ -5141,16 +5153,6 @@ var AppInsightsCore = /** @class */ (function () {
5141
5153
  }
5142
5154
  };
5143
5155
  _self[STR_GET_PERF_MGR ] = function () {
5144
- if (!_perfManager && !_cfgPerfManager) {
5145
- _addUnloadHook(_configHandler[_DYN_WATCH ](function (details) {
5146
- if (details.cfg.enablePerfMgr) {
5147
- var createPerfMgr = details.cfg[STR_CREATE_PERF_MGR ];
5148
- if (isFunction(createPerfMgr)) {
5149
- _cfgPerfManager = createPerfMgr(_self, _self[_DYN_GET_NOTIFY_MGR ]());
5150
- }
5151
- }
5152
- }));
5153
- }
5154
5156
  return _perfManager || _cfgPerfManager || getGblPerfMgr();
5155
5157
  };
5156
5158
  _self.setPerfMgr = function (perfMgr) {
@@ -5345,11 +5347,7 @@ var AppInsightsCore = /** @class */ (function () {
5345
5347
  else {
5346
5348
  unloadHook = onConfigChange(_configHandler.cfg, handler, _self[_DYN_LOGGER ]);
5347
5349
  }
5348
- return {
5349
- rm: function () {
5350
- unloadHook.rm();
5351
- }
5352
- };
5350
+ return _createUnloadHook(unloadHook);
5353
5351
  };
5354
5352
  _self.getWParam = function () {
5355
5353
  return (hasDocument() || !!_configHandler.cfg.enableWParam) ? 0 : -1;
@@ -5449,6 +5447,8 @@ var AppInsightsCore = /** @class */ (function () {
5449
5447
  _pluginVersionString = null;
5450
5448
  _pluginVersionStringArr = null;
5451
5449
  _forceStopInternalLogPoller = false;
5450
+ _internalLogPoller = null;
5451
+ _internalLogPollerListening = false;
5452
5452
  }
5453
5453
  function _createTelCtx() {
5454
5454
  var theCtx = createProcessTelemetryContext(_getPluginChain(), _configHandler.cfg, _self);
@@ -5643,28 +5643,27 @@ var AppInsightsCore = /** @class */ (function () {
5643
5643
  doCallback();
5644
5644
  return true;
5645
5645
  }
5646
- function _initDebugListener() {
5647
- !_notificationManager && _self[_DYN_GET_NOTIFY_MGR ]();
5648
- _addUnloadHook(_configHandler[_DYN_WATCH ](function (details) {
5649
- var disableDbgExt = details.cfg.disableDbgExt;
5650
- if (disableDbgExt === true && _debugListener) {
5651
- _notificationManager[_DYN_REMOVE_NOTIFICATION_2 ](_debugListener);
5652
- _debugListener = null;
5653
- }
5654
- if (_notificationManager && !_debugListener && disableDbgExt !== true) {
5655
- _debugListener = getDebugListener(details.cfg);
5656
- _notificationManager[_DYN_ADD_NOTIFICATION_LIS1 ](_debugListener);
5657
- }
5658
- }));
5659
- }
5660
5646
  function _initPerfManager() {
5647
+ var prevCfgPerfMgr;
5661
5648
  _addUnloadHook(_configHandler[_DYN_WATCH ](function (details) {
5662
5649
  var enablePerfMgr = details.cfg.enablePerfMgr;
5663
- if (!enablePerfMgr && _cfgPerfManager) {
5664
- _cfgPerfManager = null;
5665
- }
5666
5650
  if (enablePerfMgr) {
5667
- getSetValue(details.cfg, STR_CREATE_PERF_MGR, _createPerfManager);
5651
+ var createPerfMgr = details.cfg[STR_CREATE_PERF_MGR ];
5652
+ if (prevCfgPerfMgr !== createPerfMgr) {
5653
+ if (!createPerfMgr) {
5654
+ createPerfMgr = _createPerfManager;
5655
+ }
5656
+ getSetValue(details.cfg, STR_CREATE_PERF_MGR, createPerfMgr);
5657
+ prevCfgPerfMgr = createPerfMgr;
5658
+ _cfgPerfManager = null;
5659
+ }
5660
+ if (!_perfManager && !_cfgPerfManager && isFunction(createPerfMgr)) {
5661
+ _cfgPerfManager = createPerfMgr(_self, _self[_DYN_GET_NOTIFY_MGR ]());
5662
+ }
5663
+ }
5664
+ else {
5665
+ _cfgPerfManager = null;
5666
+ prevCfgPerfMgr = null;
5668
5667
  }
5669
5668
  }));
5670
5669
  }
@@ -5700,6 +5699,24 @@ var AppInsightsCore = /** @class */ (function () {
5700
5699
  return AppInsightsCore;
5701
5700
  }());
5702
5701
 
5702
+ function parseResponse(response, diagLog) {
5703
+ try {
5704
+ if (response && response !== "") {
5705
+ var result = getJSON().parse(response);
5706
+ if (result && result[_DYN_ITEMS_RECEIVED ] && result[_DYN_ITEMS_RECEIVED ] >= result.itemsAccepted &&
5707
+ result.itemsReceived - result.itemsAccepted === result.errors[_DYN_LENGTH ]) {
5708
+ return result;
5709
+ }
5710
+ }
5711
+ }
5712
+ catch (e) {
5713
+ _throwInternal(diagLog, 1 , 43 , "Cannot parse the response. " + (e[_DYN_NAME ] || dumpObj(e)), {
5714
+ response: response
5715
+ });
5716
+ }
5717
+ return null;
5718
+ }
5719
+
5703
5720
  var STR_EMPTY = "";
5704
5721
  var STR_NO_RESPONSE_BODY = "NoResponseBody";
5705
5722
  var _noResponseQs = "&" + STR_NO_RESPONSE_BODY + "=true";
@@ -6649,6 +6666,7 @@ exports.__getRegisteredEvents = __getRegisteredEvents;
6649
6666
  exports._appendHeader = _appendHeader;
6650
6667
  exports._getAllResponseHeaders = _getAllResponseHeaders;
6651
6668
  exports._logInternalMessage = _logInternalMessage;
6669
+ exports._testHookMaxUnloadHooksCb = _testHookMaxUnloadHooksCb;
6652
6670
  exports._throwInternal = _throwInternal;
6653
6671
  exports._warnToConsole = _warnToConsole;
6654
6672
  exports.addEventHandler = addEventHandler;