@microsoft/applicationinsights-core-js 3.0.8 → 3.0.9

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 (97) hide show
  1. package/browser/es5/applicationinsights-core-js.cjs.js +179 -162
  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 +181 -164
  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 +181 -164
  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 +179 -162
  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 +2 -2
  40. package/dist-es5/JavaScriptSDK/DataCacheHelper.js.map +1 -1
  41. package/dist-es5/JavaScriptSDK/DbgExtensionUtils.js +1 -1
  42. package/dist-es5/JavaScriptSDK/DiagnosticLogger.js +1 -1
  43. package/dist-es5/JavaScriptSDK/EnvUtils.js +1 -1
  44. package/dist-es5/JavaScriptSDK/EventHelpers.js +1 -1
  45. package/dist-es5/JavaScriptSDK/HelperFuncs.js +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 +38 -18
  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/TelemetryHelpers.js +1 -1
  54. package/dist-es5/JavaScriptSDK/TelemetryInitializerPlugin.js +1 -1
  55. package/dist-es5/JavaScriptSDK/UnloadHandlerContainer.js +1 -1
  56. package/dist-es5/JavaScriptSDK/UnloadHookContainer.js +20 -1
  57. package/dist-es5/JavaScriptSDK/UnloadHookContainer.js.map +1 -1
  58. package/dist-es5/JavaScriptSDK/W3cTraceParent.js +1 -1
  59. package/dist-es5/JavaScriptSDK.Enums/EnumHelperFuncs.js +1 -1
  60. package/dist-es5/JavaScriptSDK.Enums/EventsDiscardedReason.js +1 -1
  61. package/dist-es5/JavaScriptSDK.Enums/FeatureOptInEnums.js +1 -1
  62. package/dist-es5/JavaScriptSDK.Enums/LoggingEnums.js +1 -1
  63. package/dist-es5/JavaScriptSDK.Enums/SendRequestReason.js +1 -1
  64. package/dist-es5/JavaScriptSDK.Enums/TelemetryUnloadReason.js +1 -1
  65. package/dist-es5/JavaScriptSDK.Enums/TelemetryUpdateReason.js +1 -1
  66. package/dist-es5/JavaScriptSDK.Interfaces/IAppInsightsCore.js +1 -1
  67. package/dist-es5/JavaScriptSDK.Interfaces/IChannelControls.js +1 -1
  68. package/dist-es5/JavaScriptSDK.Interfaces/IChannelControlsHost.js +1 -1
  69. package/dist-es5/JavaScriptSDK.Interfaces/IConfiguration.js +1 -1
  70. package/dist-es5/JavaScriptSDK.Interfaces/ICookieMgr.js +1 -1
  71. package/dist-es5/JavaScriptSDK.Interfaces/IDbgExtension.js +1 -1
  72. package/dist-es5/JavaScriptSDK.Interfaces/IDiagnosticLogger.js +1 -1
  73. package/dist-es5/JavaScriptSDK.Interfaces/IDistributedTraceContext.js +1 -1
  74. package/dist-es5/JavaScriptSDK.Interfaces/IFeatureOptIn.js +1 -1
  75. package/dist-es5/JavaScriptSDK.Interfaces/IInstrumentHooks.js +1 -1
  76. package/dist-es5/JavaScriptSDK.Interfaces/INotificationListener.js +1 -1
  77. package/dist-es5/JavaScriptSDK.Interfaces/INotificationManager.js +1 -1
  78. package/dist-es5/JavaScriptSDK.Interfaces/IPerfEvent.js +1 -1
  79. package/dist-es5/JavaScriptSDK.Interfaces/IPerfManager.js +1 -1
  80. package/dist-es5/JavaScriptSDK.Interfaces/IProcessTelemetryContext.js +1 -1
  81. package/dist-es5/JavaScriptSDK.Interfaces/ITelemetryInitializers.js +1 -1
  82. package/dist-es5/JavaScriptSDK.Interfaces/ITelemetryItem.js +1 -1
  83. package/dist-es5/JavaScriptSDK.Interfaces/ITelemetryPlugin.js +1 -1
  84. package/dist-es5/JavaScriptSDK.Interfaces/ITelemetryPluginChain.js +1 -1
  85. package/dist-es5/JavaScriptSDK.Interfaces/ITelemetryUnloadState.js +1 -1
  86. package/dist-es5/JavaScriptSDK.Interfaces/ITelemetryUpdateState.js +1 -1
  87. package/dist-es5/JavaScriptSDK.Interfaces/ITraceParent.js +1 -1
  88. package/dist-es5/JavaScriptSDK.Interfaces/IUnloadHook.js +1 -1
  89. package/dist-es5/JavaScriptSDK.Interfaces/IUnloadableComponent.js +1 -1
  90. package/dist-es5/JavaScriptSDK.Interfaces/IXHROverride.js +1 -1
  91. package/dist-es5/__DynamicConstants.js +9 -9
  92. package/dist-es5/__DynamicConstants.js.map +1 -1
  93. package/dist-es5/applicationinsights-core-js.js +2 -2
  94. package/dist-es5/applicationinsights-core-js.js.map +1 -1
  95. package/package.json +78 -75
  96. package/types/applicationinsights-core-js.d.ts +60 -2
  97. package/types/applicationinsights-core-js.namespaced.d.ts +1287 -104
@@ -1,11 +1,11 @@
1
1
  /*!
2
- * Application Insights JavaScript SDK - Core, 3.0.8
2
+ * Application Insights JavaScript SDK - Core, 3.0.9
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_0_8", msMod="__ms$mod__";
8
- var mods={}, modDetail=mods[modName]={}, ver="3.0.8";
7
+ var nsKey, key, nm, theExports = {}, modName = "es5_applicationinsights_core_js_3_0_9", msMod="__ms$mod__";
8
+ var mods={}, modDetail=mods[modName]={}, ver="3.0.9";
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;
@@ -1111,16 +1091,16 @@ var _DYN_HDLR = "hdlr";
1111
1091
  var _DYN_CANCEL = "cancel";
1112
1092
  var _DYN_INITIALIZE = "initialize";
1113
1093
  var _DYN_IDENTIFIER = "identifier";
1094
+ var _DYN_REMOVE_NOTIFICATION_0 = "removeNotificationListener";
1095
+ var _DYN_ADD_NOTIFICATION_LIS1 = "addNotificationListener";
1114
1096
  var _DYN_IS_INITIALIZED = "isInitialized";
1097
+ var _DYN_GET_NOTIFY_MGR = "getNotifyMgr";
1115
1098
  var _DYN_GET_PLUGIN = "getPlugin";
1116
1099
  var _DYN_POLL_INTERNAL_LOGS = "pollInternalLogs";
1117
1100
  var _DYN_NAME = "name";
1118
1101
  var _DYN_TIME = "time";
1119
1102
  var _DYN_PROCESS_NEXT = "processNext";
1120
- var _DYN_GET_PROCESS_TEL_CONT0 = "getProcessTelContext";
1121
- var _DYN_GET_NOTIFY_MGR = "getNotifyMgr";
1122
- var _DYN_ADD_NOTIFICATION_LIS1 = "addNotificationListener";
1123
- var _DYN_REMOVE_NOTIFICATION_2 = "removeNotificationListener";
1103
+ var _DYN_GET_PROCESS_TEL_CONT2 = "getProcessTelContext";
1124
1104
  var _DYN_ENABLED = "enabled";
1125
1105
  var _DYN_STOP_POLLING_INTERNA3 = "stopPollingInternalLogs";
1126
1106
  var _DYN_UNLOAD = "unload";
@@ -2314,7 +2294,7 @@ function newId(maxLength) {
2314
2294
  return result;
2315
2295
  }
2316
2296
 
2317
- var version = '3.0.8';
2297
+ var version = '3.0.9';
2318
2298
  var instanceName = "." + newId(6);
2319
2299
  var _dataUid = 0;
2320
2300
  function _canAcceptData(target) {
@@ -2883,6 +2863,7 @@ function _createAndUseHandler(state, configHandler) {
2883
2863
  configHandler = null;
2884
2864
  }
2885
2865
  };
2866
+ objDefine(handler, "toJSON", { v: function () { return "WatcherHandler" + (handler.fn ? "" : "[X]"); } });
2886
2867
  state.use(handler, configHandler);
2887
2868
  return handler;
2888
2869
  }
@@ -3599,18 +3580,26 @@ function uaDisallowsSameSiteNone(userAgent) {
3599
3580
  var defaultValues$1 = {
3600
3581
  perfEvtsSendAll: false
3601
3582
  };
3602
- function _runListeners(listeners, name, isAsync, callback) {
3583
+ function _runScheduledListeners(asyncNotifications) {
3584
+ asyncNotifications.h = null;
3585
+ var callbacks = asyncNotifications.cb;
3586
+ asyncNotifications.cb = [];
3587
+ arrForEach(callbacks, function (cb) {
3588
+ safe(cb.fn, [cb.arg]);
3589
+ });
3590
+ }
3591
+ function _runListeners(listeners, name, asyncNotifications, callback) {
3603
3592
  arrForEach(listeners, function (listener) {
3604
3593
  if (listener && listener[name]) {
3605
- if (isAsync) {
3606
- scheduleTimeout(function () { return callback(listener); }, 0);
3594
+ if (asyncNotifications) {
3595
+ asyncNotifications.cb[_DYN_PUSH ]({
3596
+ fn: callback,
3597
+ arg: listener
3598
+ });
3599
+ asyncNotifications.h = asyncNotifications.h || scheduleTimeout(_runScheduledListeners, 0, asyncNotifications);
3607
3600
  }
3608
3601
  else {
3609
- try {
3610
- callback(listener);
3611
- }
3612
- catch (e) {
3613
- }
3602
+ safe(callback, [listener]);
3614
3603
  }
3615
3604
  }
3616
3605
  });
@@ -3621,6 +3610,10 @@ var NotificationManager = /** @class */ (function () {
3621
3610
  var perfEvtsSendAll;
3622
3611
  var unloadHandler;
3623
3612
  var _listeners = [];
3613
+ var _asyncNotifications = {
3614
+ h: null,
3615
+ cb: []
3616
+ };
3624
3617
  var cfgHandler = createDynamicConfig(config, defaultValues$1);
3625
3618
  unloadHandler = cfgHandler[_DYN_WATCH ](function (details) {
3626
3619
  perfEvtsSendAll = !!details.cfg.perfEvtsSendAll;
@@ -3632,7 +3625,7 @@ var NotificationManager = /** @class */ (function () {
3632
3625
  _self[_DYN_ADD_NOTIFICATION_LIS1 ] = function (listener) {
3633
3626
  _listeners[_DYN_PUSH ](listener);
3634
3627
  };
3635
- _self[_DYN_REMOVE_NOTIFICATION_2 ] = function (listener) {
3628
+ _self[_DYN_REMOVE_NOTIFICATION_0 ] = function (listener) {
3636
3629
  var index = arrIndexOf(_listeners, listener);
3637
3630
  while (index > -1) {
3638
3631
  _listeners[_DYN_SPLICE ](index, 1);
@@ -3640,24 +3633,24 @@ var NotificationManager = /** @class */ (function () {
3640
3633
  }
3641
3634
  };
3642
3635
  _self[STR_EVENTS_SENT ] = function (events) {
3643
- _runListeners(_listeners, STR_EVENTS_SENT, true, function (listener) {
3636
+ _runListeners(_listeners, STR_EVENTS_SENT, _asyncNotifications, function (listener) {
3644
3637
  listener[STR_EVENTS_SENT ](events);
3645
3638
  });
3646
3639
  };
3647
3640
  _self[STR_EVENTS_DISCARDED ] = function (events, reason) {
3648
- _runListeners(_listeners, STR_EVENTS_DISCARDED, true, function (listener) {
3641
+ _runListeners(_listeners, STR_EVENTS_DISCARDED, _asyncNotifications, function (listener) {
3649
3642
  listener[STR_EVENTS_DISCARDED ](events, reason);
3650
3643
  });
3651
3644
  };
3652
3645
  _self[STR_EVENTS_SEND_REQUEST ] = function (sendReason, isAsync) {
3653
- _runListeners(_listeners, STR_EVENTS_SEND_REQUEST, isAsync, function (listener) {
3646
+ _runListeners(_listeners, STR_EVENTS_SEND_REQUEST, isAsync ? _asyncNotifications : null, function (listener) {
3654
3647
  listener[STR_EVENTS_SEND_REQUEST ](sendReason, isAsync);
3655
3648
  });
3656
3649
  };
3657
3650
  _self[STR_PERF_EVENT ] = function (perfEvent) {
3658
3651
  if (perfEvent) {
3659
3652
  if (perfEvtsSendAll || !perfEvent[_DYN_IS_CHILD_EVT ]()) {
3660
- _runListeners(_listeners, STR_PERF_EVENT, false, function (listener) {
3653
+ _runListeners(_listeners, STR_PERF_EVENT, null, function (listener) {
3661
3654
  if (perfEvent[_DYN_IS_ASYNC ]) {
3662
3655
  scheduleTimeout(function () { return listener[STR_PERF_EVENT ](perfEvent); }, 0);
3663
3656
  }
@@ -3673,9 +3666,12 @@ var NotificationManager = /** @class */ (function () {
3673
3666
  unloadHandler && unloadHandler.rm();
3674
3667
  unloadHandler = null;
3675
3668
  _listeners = [];
3669
+ _asyncNotifications.h && _asyncNotifications.h[_DYN_CANCEL ]();
3670
+ _asyncNotifications.h = null;
3671
+ _asyncNotifications.cb = [];
3676
3672
  };
3677
3673
  var waiting;
3678
- _runListeners(_listeners, "unload", false, function (listener) {
3674
+ _runListeners(_listeners, "unload", null, function (listener) {
3679
3675
  var asyncUnload = listener[_DYN_UNLOAD ](isAsync);
3680
3676
  if (asyncUnload) {
3681
3677
  if (!waiting) {
@@ -4489,6 +4485,12 @@ function createUnloadHandlerContainer() {
4489
4485
  };
4490
4486
  }
4491
4487
 
4488
+ var _maxHooks;
4489
+ var _hookAddMonitor;
4490
+ function _testHookMaxUnloadHooksCb(maxHooks, addMonitor) {
4491
+ _maxHooks = maxHooks;
4492
+ _hookAddMonitor = addMonitor;
4493
+ }
4492
4494
  function createUnloadHookContainer() {
4493
4495
  var _hooks = [];
4494
4496
  function _doUnload(logger) {
@@ -4502,10 +4504,16 @@ function createUnloadHookContainer() {
4502
4504
  _throwInternal(logger, 2 , 73 , "Unloading:" + dumpObj(e));
4503
4505
  }
4504
4506
  });
4507
+ if (_maxHooks && oldHooks[_DYN_LENGTH ] > _maxHooks) {
4508
+ _hookAddMonitor ? _hookAddMonitor("doUnload", oldHooks) : _throwInternal(null, 1 , 48 , "Max unload hooks exceeded. An excessive number of unload hooks has been detected.");
4509
+ }
4505
4510
  }
4506
4511
  function _addHook(hooks) {
4507
4512
  if (hooks) {
4508
4513
  arrAppend(_hooks, hooks);
4514
+ if (_maxHooks && _hooks[_DYN_LENGTH ] > _maxHooks) {
4515
+ _hookAddMonitor ? _hookAddMonitor("Add", _hooks) : _throwInternal(null, 1 , 48 , "Max unload hooks exceeded. An excessive number of unload hooks has been detected.");
4516
+ }
4509
4517
  }
4510
4518
  }
4511
4519
  return {
@@ -4633,7 +4641,7 @@ var BaseTelemetryPlugin = /** @class */ (function () {
4633
4641
  function _setDefaults(config, core, pluginChain) {
4634
4642
  createDynamicConfig(config, defaultValues, safeGetLogger(core));
4635
4643
  if (!pluginChain && core) {
4636
- pluginChain = core[_DYN_GET_PROCESS_TEL_CONT0 ]()[_DYN_GET_NEXT ]();
4644
+ pluginChain = core[_DYN_GET_PROCESS_TEL_CONT2 ]()[_DYN_GET_NEXT ]();
4637
4645
  }
4638
4646
  var nextPlugin = _nextPlugin;
4639
4647
  if (_nextPlugin && _nextPlugin[strGetPlugin]) {
@@ -4837,6 +4845,27 @@ function _registerDelayedCfgListener(config, listeners, logger) {
4837
4845
  };
4838
4846
  });
4839
4847
  }
4848
+ function _initDebugListener(configHandler, unloadContainer, notificationManager, debugListener) {
4849
+ unloadContainer.add(configHandler[_DYN_WATCH ](function (details) {
4850
+ var disableDbgExt = details.cfg.disableDbgExt;
4851
+ if (disableDbgExt === true && debugListener) {
4852
+ notificationManager[_DYN_REMOVE_NOTIFICATION_0 ](debugListener);
4853
+ debugListener = null;
4854
+ }
4855
+ if (notificationManager && !debugListener && disableDbgExt !== true) {
4856
+ debugListener = getDebugListener(details.cfg);
4857
+ notificationManager[_DYN_ADD_NOTIFICATION_LIS1 ](debugListener);
4858
+ }
4859
+ }));
4860
+ return debugListener;
4861
+ }
4862
+ function _createUnloadHook(unloadHook) {
4863
+ return objDefine({
4864
+ rm: function () {
4865
+ unloadHook.rm();
4866
+ }
4867
+ }, "toJSON", { v: function () { return "aicore::onCfgChange<" + JSON.stringify(unloadHook) + ">"; } });
4868
+ }
4840
4869
  var AppInsightsCore = /** @class */ (function () {
4841
4870
  function AppInsightsCore() {
4842
4871
  var _configHandler;
@@ -4893,7 +4922,7 @@ var AppInsightsCore = /** @class */ (function () {
4893
4922
  }
4894
4923
  }));
4895
4924
  _notificationManager = notificationManager;
4896
- _initDebugListener();
4925
+ _debugListener = _initDebugListener(_configHandler, _hookContainer, _notificationManager && _self[_DYN_GET_NOTIFY_MGR ](), _debugListener);
4897
4926
  _initPerfManager();
4898
4927
  _self[_DYN_LOGGER ] = logger;
4899
4928
  var cfgExtensions = config[STR_EXTENSIONS ];
@@ -4946,7 +4975,7 @@ var AppInsightsCore = /** @class */ (function () {
4946
4975
  }
4947
4976
  }, function () { return ({ item: telemetryItem }); }, !(telemetryItem.sync));
4948
4977
  };
4949
- _self[_DYN_GET_PROCESS_TEL_CONT0 ] = _createTelCtx;
4978
+ _self[_DYN_GET_PROCESS_TEL_CONT2 ] = _createTelCtx;
4950
4979
  _self[_DYN_GET_NOTIFY_MGR ] = function () {
4951
4980
  if (!_notificationManager) {
4952
4981
  _notificationManager = new NotificationManager(_configHandler.cfg);
@@ -4955,11 +4984,11 @@ var AppInsightsCore = /** @class */ (function () {
4955
4984
  return _notificationManager;
4956
4985
  };
4957
4986
  _self[_DYN_ADD_NOTIFICATION_LIS1 ] = function (listener) {
4958
- _self[_DYN_GET_NOTIFY_MGR ]()[_DYN_ADD_NOTIFICATION_LIS1 ](listener);
4987
+ _self.getNotifyMgr()[_DYN_ADD_NOTIFICATION_LIS1 ](listener);
4959
4988
  };
4960
- _self[_DYN_REMOVE_NOTIFICATION_2 ] = function (listener) {
4989
+ _self[_DYN_REMOVE_NOTIFICATION_0 ] = function (listener) {
4961
4990
  if (_notificationManager) {
4962
- _notificationManager[_DYN_REMOVE_NOTIFICATION_2 ](listener);
4991
+ _notificationManager[_DYN_REMOVE_NOTIFICATION_0 ](listener);
4963
4992
  }
4964
4993
  };
4965
4994
  _self.getCookieMgr = function () {
@@ -4975,16 +5004,6 @@ var AppInsightsCore = /** @class */ (function () {
4975
5004
  }
4976
5005
  };
4977
5006
  _self[STR_GET_PERF_MGR ] = function () {
4978
- if (!_perfManager && !_cfgPerfManager) {
4979
- _addUnloadHook(_configHandler[_DYN_WATCH ](function (details) {
4980
- if (details.cfg.enablePerfMgr) {
4981
- var createPerfMgr = details.cfg[STR_CREATE_PERF_MGR ];
4982
- if (isFunction(createPerfMgr)) {
4983
- _cfgPerfManager = createPerfMgr(_self, _self[_DYN_GET_NOTIFY_MGR ]());
4984
- }
4985
- }
4986
- }));
4987
- }
4988
5007
  return _perfManager || _cfgPerfManager || getGblPerfMgr();
4989
5008
  };
4990
5009
  _self.setPerfMgr = function (perfMgr) {
@@ -5179,11 +5198,7 @@ var AppInsightsCore = /** @class */ (function () {
5179
5198
  else {
5180
5199
  unloadHook = onConfigChange(_configHandler.cfg, handler, _self[_DYN_LOGGER ]);
5181
5200
  }
5182
- return {
5183
- rm: function () {
5184
- unloadHook.rm();
5185
- }
5186
- };
5201
+ return _createUnloadHook(unloadHook);
5187
5202
  };
5188
5203
  _self.getWParam = function () {
5189
5204
  return (hasDocument() || !!_configHandler.cfg.enableWParam) ? 0 : -1;
@@ -5283,6 +5298,8 @@ var AppInsightsCore = /** @class */ (function () {
5283
5298
  _pluginVersionString = null;
5284
5299
  _pluginVersionStringArr = null;
5285
5300
  _forceStopInternalLogPoller = false;
5301
+ _internalLogPoller = null;
5302
+ _internalLogPollerListening = false;
5286
5303
  }
5287
5304
  function _createTelCtx() {
5288
5305
  var theCtx = createProcessTelemetryContext(_getPluginChain(), _configHandler.cfg, _self);
@@ -5477,28 +5494,27 @@ var AppInsightsCore = /** @class */ (function () {
5477
5494
  doCallback();
5478
5495
  return true;
5479
5496
  }
5480
- function _initDebugListener() {
5481
- !_notificationManager && _self[_DYN_GET_NOTIFY_MGR ]();
5482
- _addUnloadHook(_configHandler[_DYN_WATCH ](function (details) {
5483
- var disableDbgExt = details.cfg.disableDbgExt;
5484
- if (disableDbgExt === true && _debugListener) {
5485
- _notificationManager[_DYN_REMOVE_NOTIFICATION_2 ](_debugListener);
5486
- _debugListener = null;
5487
- }
5488
- if (_notificationManager && !_debugListener && disableDbgExt !== true) {
5489
- _debugListener = getDebugListener(details.cfg);
5490
- _notificationManager[_DYN_ADD_NOTIFICATION_LIS1 ](_debugListener);
5491
- }
5492
- }));
5493
- }
5494
5497
  function _initPerfManager() {
5498
+ var prevCfgPerfMgr;
5495
5499
  _addUnloadHook(_configHandler[_DYN_WATCH ](function (details) {
5496
5500
  var enablePerfMgr = details.cfg.enablePerfMgr;
5497
- if (!enablePerfMgr && _cfgPerfManager) {
5498
- _cfgPerfManager = null;
5499
- }
5500
5501
  if (enablePerfMgr) {
5501
- getSetValue(details.cfg, STR_CREATE_PERF_MGR, _createPerfManager);
5502
+ var createPerfMgr = details.cfg[STR_CREATE_PERF_MGR ];
5503
+ if (prevCfgPerfMgr !== createPerfMgr) {
5504
+ if (!createPerfMgr) {
5505
+ createPerfMgr = _createPerfManager;
5506
+ }
5507
+ getSetValue(details.cfg, STR_CREATE_PERF_MGR, createPerfMgr);
5508
+ prevCfgPerfMgr = createPerfMgr;
5509
+ _cfgPerfManager = null;
5510
+ }
5511
+ if (!_perfManager && !_cfgPerfManager && isFunction(createPerfMgr)) {
5512
+ _cfgPerfManager = createPerfMgr(_self, _self[_DYN_GET_NOTIFY_MGR ]());
5513
+ }
5514
+ }
5515
+ else {
5516
+ _cfgPerfManager = null;
5517
+ prevCfgPerfMgr = null;
5502
5518
  }
5503
5519
  }));
5504
5520
  }
@@ -6048,6 +6064,7 @@ exports.Undefined = Undefined;
6048
6064
  exports._InternalLogMessage = _InternalLogMessage;
6049
6065
  exports.__getRegisteredEvents = __getRegisteredEvents;
6050
6066
  exports._logInternalMessage = _logInternalMessage;
6067
+ exports._testHookMaxUnloadHooksCb = _testHookMaxUnloadHooksCb;
6051
6068
  exports._throwInternal = _throwInternal;
6052
6069
  exports._warnToConsole = _warnToConsole;
6053
6070
  exports.addEventHandler = addEventHandler;