@microsoft/applicationinsights-core-js 3.0.7 → 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 +406 -324
  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 +408 -326
  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 +408 -326
  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 +406 -324
  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,5 +1,5 @@
1
1
  /*!
2
- * Application Insights JavaScript SDK - Core, 3.0.7
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) {
@@ -13,23 +13,18 @@
13
13
  var UNDEF_VALUE = undefined;
14
14
  var NULL_VALUE = null;
15
15
  var EMPTY = "";
16
- var BOOLEAN = "boolean";
17
16
  var FUNCTION = "function";
18
- var NUMBER = "number";
19
17
  var OBJECT = "object";
20
18
  var PROTOTYPE = "prototype";
21
19
  var __PROTO__ = "__proto__";
22
- var STRING = "string";
23
20
  var UNDEFINED = "undefined";
24
21
  var CONSTRUCTOR = "constructor";
25
22
  var SYMBOL = "Symbol";
26
23
  var POLYFILL_TAG = "_polyfill";
27
- var INDEX_OF = "indexOf";
28
24
  var LENGTH = "length";
29
- var DONE = "done";
30
- var VALUE = "value";
31
25
  var NAME = "name";
32
- var SLICE = "slice";
26
+ var CALL = "call";
27
+ var TO_STRING = "toString";
33
28
  var ObjClass$1 = Object;
34
29
  var ObjProto = ObjClass$1[PROTOTYPE];
35
30
  var StrCls = String;
@@ -37,52 +32,71 @@
37
32
  var MathCls = Math;
38
33
  var ArrCls = Array;
39
34
  var ArrProto = ArrCls[PROTOTYPE];
35
+ var ArrSlice = ArrProto["slice"];
40
36
 
41
- function safeGet(cb, defValue) {
42
- var result = defValue;
37
+ function safe(func, argArray) {
43
38
  try {
44
- result = cb();
39
+ return {
40
+ v: func.apply(this, argArray)
41
+ };
45
42
  }
46
43
  catch (e) {
44
+ return { e: e };
47
45
  }
48
- return result;
49
46
  }
50
47
 
51
- var PRIMITIVE_TYPES = [STRING, NUMBER, BOOLEAN, UNDEFINED, "symbol", "bigint"];
48
+ /*#__NO_SIDE_EFFECTS__*/
49
+ function safeGet(cb, defValue) {
50
+ var result = safe(cb);
51
+ return result.e ? defValue : result.v;
52
+ }
53
+
54
+ var _primitiveTypes;
55
+ /*#__NO_SIDE_EFFECTS__*/
52
56
  function _createIs(theType) {
53
57
  return function (value) {
54
58
  return typeof value === theType;
55
59
  };
56
60
  }
61
+ /*#__NO_SIDE_EFFECTS__*/
57
62
  function _createObjIs(theName) {
58
63
  var theType = "[object " + theName + "]";
59
64
  return function (value) {
60
65
  return !!(value && objToString(value) === theType);
61
66
  };
62
67
  }
68
+ /*#__NO_SIDE_EFFECTS__*/
63
69
  function objToString(value) {
64
70
  return ObjProto.toString.call(value);
65
71
  }
72
+ /*#__NO_SIDE_EFFECTS__*/
66
73
  function isTypeof(value, theType) {
67
74
  return typeof value === theType;
68
75
  }
76
+ /*#__NO_SIDE_EFFECTS__*/
69
77
  function isUndefined(value) {
70
78
  return typeof value === UNDEFINED || value === UNDEFINED;
71
79
  }
80
+ /*#__NO_SIDE_EFFECTS__*/
72
81
  function isNullOrUndefined(value) {
73
82
  return value === NULL_VALUE || isUndefined(value);
74
83
  }
84
+ /*#__NO_SIDE_EFFECTS__*/
75
85
  function isStrictNullOrUndefined(value) {
76
86
  return value === NULL_VALUE || !isDefined(value);
77
87
  }
88
+ /*#__NO_SIDE_EFFECTS__*/
78
89
  function isDefined(arg) {
79
90
  return !!arg || arg !== UNDEF_VALUE;
80
91
  }
81
- var isPrimitiveType = function (theType) {
82
- return theType !== OBJECT && PRIMITIVE_TYPES.indexOf(theType) !== -1;
83
- };
84
- var isString = _createIs(STRING);
85
- var isFunction = _createIs(FUNCTION);
92
+ /*#__NO_SIDE_EFFECTS__*/
93
+ function isPrimitiveType(theType) {
94
+ !_primitiveTypes && (_primitiveTypes = ["string", "number", "boolean", UNDEFINED, "symbol", "bigint"]);
95
+ return theType !== OBJECT && _primitiveTypes.indexOf(theType) !== -1;
96
+ }
97
+ var isString = ( /*#__PURE__*/_createIs("string"));
98
+ var isFunction = ( /*#__PURE__*/_createIs(FUNCTION));
99
+ /*#__NO_SIDE_EFFECTS__*/
86
100
  function isObject(value) {
87
101
  if (!value && isNullOrUndefined(value)) {
88
102
  return false;
@@ -90,27 +104,32 @@
90
104
  return !!value && typeof value === OBJECT;
91
105
  }
92
106
  var isArray = ArrCls.isArray;
93
- var isDate = _createObjIs("Date");
94
- var isNumber = _createIs(NUMBER);
95
- var isBoolean = _createIs(BOOLEAN);
96
- var isError = _createObjIs("Error");
107
+ var isDate = ( /*#__PURE__*/_createObjIs("Date"));
108
+ var isNumber = ( /*#__PURE__*/_createIs("number"));
109
+ var isBoolean = ( /*#__PURE__*/_createIs("boolean"));
110
+ var isError = ( /*#__PURE__*/_createObjIs("Error"));
111
+ /*#__NO_SIDE_EFFECTS__*/
97
112
  function isPromiseLike(value) {
98
- return !!value && isFunction(value.then);
113
+ return !!(value && value.then && isFunction(value.then));
99
114
  }
115
+ /*#__NO_SIDE_EFFECTS__*/
100
116
  function isNotTruthy(value) {
101
- return !value || !safeGet(function () { return (value && (0 + value)); }, value);
117
+ return !value || !isTruthy(value);
102
118
  }
119
+ /*#__NO_SIDE_EFFECTS__*/
103
120
  function isTruthy(value) {
104
121
  return !(!value || safeGet(function () { return !(value && (0 + value)); }, !value));
105
122
  }
106
123
 
107
124
  var objGetOwnPropertyDescriptor = ObjClass$1.getOwnPropertyDescriptor;
108
125
 
126
+ /*#__NO_SIDE_EFFECTS__*/
109
127
  function objHasOwnProperty(obj, prop) {
110
- return obj && ObjProto.hasOwnProperty.call(obj, prop);
128
+ return !!obj && ObjProto.hasOwnProperty[CALL](obj, prop);
111
129
  }
112
130
 
113
131
  var objHasOwn = ObjClass$1["hasOwn"] || polyObjHasOwn;
132
+ /*#__NO_SIDE_EFFECTS__*/
114
133
  function polyObjHasOwn(obj, prop) {
115
134
  return objHasOwnProperty(obj, prop) || !!objGetOwnPropertyDescriptor(obj, prop);
116
135
  }
@@ -119,7 +138,7 @@
119
138
  if (theObject && isObject(theObject)) {
120
139
  for (var prop in theObject) {
121
140
  if (objHasOwn(theObject, prop)) {
122
- if (callbackfn.call(thisArg || theObject, prop, theObject[prop]) === -1) {
141
+ if (callbackfn[CALL](thisArg || theObject, prop, theObject[prop]) === -1) {
123
142
  break;
124
143
  }
125
144
  }
@@ -127,6 +146,7 @@
127
146
  }
128
147
  }
129
148
 
149
+ /*#__NO_SIDE_EFFECTS__*/
130
150
  function _createKeyValueMap(values, keyType, valueType, completeFn) {
131
151
  var theMap = {};
132
152
  objForEachKey(values, function (key, value) {
@@ -144,15 +164,15 @@
144
164
  }
145
165
 
146
166
  var _objFreeze = ObjClass$1["freeze"];
147
- var _doNothing = function (value) { return value; };
148
- var _getProto = function (value) { return value[__PROTO__] || NULL_VALUE; };
149
- var objAssign = ObjClass$1["assign"];
150
- function objKeys(value) {
151
- if (!isObject(value) || value === NULL_VALUE) {
152
- throwTypeError("objKeys called on non-object");
153
- }
154
- return ObjClass$1.keys(value);
167
+ function _doNothing(value) {
168
+ return value;
155
169
  }
170
+ /*#__NO_SIDE_EFFECTS__*/
171
+ function _getProto(value) {
172
+ return value[__PROTO__] || NULL_VALUE;
173
+ }
174
+ var objAssign = ObjClass$1["assign"];
175
+ var objKeys = ObjClass$1.keys;
156
176
  function objDeepFreeze(value) {
157
177
  if (_objFreeze) {
158
178
  objForEachKey(value, function (key, value) {
@@ -167,12 +187,15 @@
167
187
  var objSeal = ObjClass$1["seal"] || _doNothing;
168
188
  var objGetPrototypeOf = ObjClass$1["getPrototypeOf"] || _getProto;
169
189
 
190
+ /*#__NO_SIDE_EFFECTS__*/
170
191
  function createEnum(values) {
171
192
  return _createKeyValueMap(values, 1 , 0 , objDeepFreeze);
172
193
  }
194
+ /*#__NO_SIDE_EFFECTS__*/
173
195
  function createEnumKeyMap(values) {
174
196
  return _createKeyValueMap(values, 0 , 0 , objDeepFreeze);
175
197
  }
198
+ /*#__NO_SIDE_EFFECTS__*/
176
199
  function createSimpleMap(values) {
177
200
  var mapClass = {};
178
201
  objForEachKey(values, function (key, value) {
@@ -181,11 +204,12 @@
181
204
  });
182
205
  return objDeepFreeze(mapClass);
183
206
  }
207
+ /*#__NO_SIDE_EFFECTS__*/
184
208
  function createTypeMap(values) {
185
209
  return createSimpleMap(values);
186
210
  }
187
211
 
188
- var _wellKnownSymbolMap = createEnumKeyMap({
212
+ var _wellKnownSymbolMap = /*#__PURE__*/ createEnumKeyMap({
189
213
  asyncIterator: 0 ,
190
214
  hasInstance: 1 ,
191
215
  isConcatSpreadable: 2 ,
@@ -205,6 +229,7 @@
205
229
 
206
230
  var GLOBAL_CONFIG_KEY = "__tsUtils$gblCfg";
207
231
  var _globalCfg;
232
+ /*#__NO_SIDE_EFFECTS__*/
208
233
  function _getGlobalValue() {
209
234
  var result;
210
235
  if (typeof globalThis !== UNDEFINED) {
@@ -221,60 +246,47 @@
221
246
  }
222
247
  return result;
223
248
  }
249
+ /*#__NO_SIDE_EFFECTS__*/
224
250
  function _getGlobalConfig() {
225
251
  if (!_globalCfg) {
226
- var gbl = _getGlobalValue() || {};
252
+ var gbl = safe(_getGlobalValue).v || {};
227
253
  _globalCfg = gbl[GLOBAL_CONFIG_KEY] = gbl[GLOBAL_CONFIG_KEY] || {};
228
254
  }
229
255
  return _globalCfg;
230
256
  }
231
257
 
258
+ var ERROR_TYPE = "[object Error]";
259
+ /*#__NO_SIDE_EFFECTS__*/
232
260
  function dumpObj(object, format) {
233
261
  var propertyValueDump = EMPTY;
234
- if (isError(object)) {
235
- propertyValueDump = "{ stack: '" + object.stack + "', message: '" + object.message + "', name: '" + object.name + "'";
262
+ var objType = ObjProto[TO_STRING][CALL](object);
263
+ if (objType === ERROR_TYPE) {
264
+ object = { stack: asString(object.stack), message: asString(object.message), name: asString(object.name) };
236
265
  }
237
- else {
238
- try {
239
- propertyValueDump = JSON.stringify(object, NULL_VALUE, format ? (isNumber(format) ? format : 4) : UNDEF_VALUE);
240
- }
241
- catch (e) {
242
- propertyValueDump = " - " + dumpObj(e, format);
243
- }
266
+ try {
267
+ propertyValueDump = JSON.stringify(object, NULL_VALUE, format ? ((typeof format === "number") ? format : 4) : UNDEF_VALUE);
268
+ propertyValueDump = (propertyValueDump && propertyValueDump.replace(/"(\w+)"\s*:\s{0,1}/g, "$1: ")) || asString(object);
269
+ }
270
+ catch (e) {
271
+ propertyValueDump = " - " + dumpObj(e, format);
244
272
  }
245
- return objToString(object) + ": " + propertyValueDump;
273
+ return objType + ": " + propertyValueDump;
246
274
  }
247
275
 
248
- var _arrSlice = ArrProto[SLICE];
249
- var _throwMissingFunction = function (funcName, thisArg) {
250
- throwTypeError("'" + asString(funcName) + "' not defined for " + dumpObj(thisArg));
251
- };
252
- var _unwrapInstFunction = function (funcName) {
253
- return function (thisArg) {
254
- return thisArg[funcName].apply(thisArg, _arrSlice.call(arguments, 1));
255
- };
256
- };
257
- var _unwrapFunction = function (funcName, clsProto) {
258
- var clsFn = clsProto && clsProto[funcName];
259
- return function (thisArg) {
260
- var theFunc = (thisArg && thisArg[funcName]) || clsFn;
261
- if (theFunc) {
262
- return theFunc.apply(thisArg, _arrSlice.call(arguments, 1));
263
- }
264
- _throwMissingFunction(funcName, thisArg);
265
- };
266
- };
267
- var _unwrapFunctionWithPoly = function (funcName, clsProto, polyFunc) {
276
+ var _unwrapFunction = _unwrapFunctionWithPoly;
277
+ /*#__NO_SIDE_EFFECTS__*/
278
+ function _unwrapFunctionWithPoly(funcName, clsProto, polyFunc) {
268
279
  var clsFn = clsProto && clsProto[funcName];
269
280
  return function (thisArg) {
270
281
  var theFunc = (thisArg && thisArg[funcName]) || clsFn;
271
282
  if (theFunc || polyFunc) {
272
283
  var theArgs = arguments;
273
- return (theFunc || polyFunc).apply(thisArg, theFunc ? _arrSlice.call(theArgs, 1) : theArgs);
284
+ return (theFunc || polyFunc).apply(thisArg, theFunc ? ArrSlice[CALL](theArgs, 1) : theArgs);
274
285
  }
275
- _throwMissingFunction(funcName, thisArg);
286
+ throwTypeError("\"" + asString(funcName) + "\" not defined for " + dumpObj(thisArg));
276
287
  };
277
- };
288
+ }
289
+ /*#__NO_SIDE_EFFECTS__*/
278
290
  function _unwrapProp(propName) {
279
291
  return function (thisArg) {
280
292
  return thisArg[propName];
@@ -283,10 +295,11 @@
283
295
 
284
296
  var mathMax = MathCls.max;
285
297
 
286
- var strSlice = _unwrapFunction(SLICE, StrProto);
298
+ var strSlice = ( /*#__PURE__*/_unwrapFunction("slice", StrProto));
287
299
 
288
- var strSubstring = _unwrapFunction("substring", StrProto);
289
- var strSubstr = _unwrapFunctionWithPoly("substr", StrProto, polyStrSubstr);
300
+ var strSubstring = ( /*#__PURE__*/_unwrapFunction("substring", StrProto));
301
+ var strSubstr = ( /*#__PURE__*/_unwrapFunctionWithPoly("substr", StrProto, polyStrSubstr));
302
+ /*#__NO_SIDE_EFFECTS__*/
290
303
  function polyStrSubstr(value, start, length) {
291
304
  if (isNullOrUndefined(value)) {
292
305
  throwTypeError("'polyStrSubstr called with invalid " + dumpObj(value));
@@ -303,23 +316,14 @@
303
316
  }
304
317
  return strSlice(value, start, start + length);
305
318
  }
319
+ /*#__NO_SIDE_EFFECTS__*/
306
320
  function strLeft(value, count) {
307
321
  return strSubstring(value, 0, count);
308
322
  }
309
323
 
310
- var strStartsWith = _unwrapFunctionWithPoly("startsWith", StrProto, polyStrStartsWith);
311
- function polyStrStartsWith(value, searchString, position) {
312
- if (!isString(value)) {
313
- throwTypeError("'" + dumpObj(value) + "' is not a string");
314
- }
315
- var searchValue = isString(searchString) ? searchString : asString(searchString);
316
- var chkLen = searchValue[LENGTH];
317
- var pos = position > 0 ? position : 0;
318
- return strSubstring(value, pos, pos + chkLen) === searchValue;
319
- }
320
-
321
324
  var UNIQUE_REGISTRY_ID = "_urid";
322
325
  var _polySymbols;
326
+ /*#__NO_SIDE_EFFECTS__*/
323
327
  function _globalSymbolRegistry() {
324
328
  if (!_polySymbols) {
325
329
  var gblCfg = _getGlobalConfig();
@@ -327,7 +331,8 @@
327
331
  }
328
332
  return _polySymbols;
329
333
  }
330
- var _wellKnownSymbolCache = {};
334
+ var _wellKnownSymbolCache;
335
+ /*#__NO_SIDE_EFFECTS__*/
331
336
  function polyNewSymbol(description) {
332
337
  var theSymbol = {
333
338
  description: asString(description),
@@ -336,18 +341,21 @@
336
341
  theSymbol[POLYFILL_TAG] = true;
337
342
  return theSymbol;
338
343
  }
344
+ /*#__NO_SIDE_EFFECTS__*/
339
345
  function polySymbolFor(key) {
340
346
  var registry = _globalSymbolRegistry();
341
347
  if (!objHasOwn(registry.k, key)) {
342
348
  var newSymbol_1 = polyNewSymbol(key);
343
349
  var regId_1 = objKeys(registry.s).length;
344
- newSymbol_1[UNIQUE_REGISTRY_ID] = function () { return regId_1 + "_" + newSymbol_1.toString(); };
350
+ newSymbol_1[UNIQUE_REGISTRY_ID] = function () { return regId_1 + "_" + newSymbol_1[TO_STRING](); };
345
351
  registry.k[key] = newSymbol_1;
346
352
  registry.s[newSymbol_1[UNIQUE_REGISTRY_ID]()] = asString(key);
347
353
  }
348
354
  return registry.k[key];
349
355
  }
356
+ /*#__NO_SIDE_EFFECTS__*/
350
357
  function polyGetKnownSymbol(name) {
358
+ !_wellKnownSymbolCache && (_wellKnownSymbolCache = {});
351
359
  var result;
352
360
  var knownName = _wellKnownSymbolMap[name];
353
361
  if (knownName) {
@@ -359,11 +367,12 @@
359
367
  var propMap = {
360
368
  e: "enumerable",
361
369
  c: "configurable",
362
- v: VALUE,
370
+ v: "value",
363
371
  w: "writable",
364
372
  g: "get",
365
373
  s: "set"
366
374
  };
375
+ /*#__NO_SIDE_EFFECTS__*/
367
376
  function _createProp(value) {
368
377
  var prop = {};
369
378
  prop[propMap["c"]] = true;
@@ -401,13 +410,13 @@
401
410
  }
402
411
 
403
412
  var _globalLazyTestHooks;
404
- var _fetchLazyTestHooks = function () {
413
+ function _initTestHooks() {
405
414
  _globalLazyTestHooks = _getGlobalConfig();
406
- _fetchLazyTestHooks = NULL_VALUE;
407
- };
415
+ }
416
+ /*#__NO_SIDE_EFFECTS__*/
408
417
  function getLazy(cb) {
409
418
  var lazyValue = {};
410
- _fetchLazyTestHooks && _fetchLazyTestHooks();
419
+ !_globalLazyTestHooks && _initTestHooks();
411
420
  lazyValue.b = _globalLazyTestHooks.lzy;
412
421
  objDefineProp(lazyValue, "v", {
413
422
  configurable: true,
@@ -417,106 +426,128 @@
417
426
  objDefineProp(lazyValue, "v", {
418
427
  value: result
419
428
  });
420
- if (lazyValue.b) {
421
- delete lazyValue.b;
422
- }
423
- }
424
- if (_globalLazyTestHooks.lzy && lazyValue.b !== _globalLazyTestHooks.lzy) {
425
- lazyValue.b = _globalLazyTestHooks.lzy;
426
429
  }
430
+ lazyValue.b = _globalLazyTestHooks.lzy;
427
431
  return result;
428
432
  }
429
433
  });
430
434
  return lazyValue;
431
435
  }
432
436
 
437
+ /*#__NO_SIDE_EFFECTS__*/
433
438
  function safeGetLazy(cb, defValue) {
434
- return getLazy(function () { return safeGet(cb, defValue); });
439
+ return getLazy(function () {
440
+ var result = safe(cb);
441
+ return result.e ? defValue : result.v;
442
+ });
443
+ }
444
+
445
+ /*#__NO_SIDE_EFFECTS__*/
446
+ function createCachedValue(value) {
447
+ return objDefineProp({
448
+ toJSON: function () { return value; }
449
+ }, "v", { value: value });
435
450
  }
436
451
 
437
452
  var WINDOW = "window";
438
453
  var _cachedGlobal;
439
- var _cachedWindow;
440
- var _cachedDocument;
441
- var _cachedNavigator;
442
- var _cachedHistory;
443
- var _isNode;
444
- var lazySafeGetInst = function (name) { return safeGetLazy(function () { return getInst(name) || UNDEF_VALUE; }, UNDEF_VALUE); };
445
- var getGlobal = function (useCached) {
446
- (!_cachedGlobal || useCached === false || (_globalLazyTestHooks && _globalLazyTestHooks.lzy && !_cachedGlobal.b)) && (_cachedGlobal = safeGetLazy(_getGlobalValue, NULL_VALUE));
454
+ function _getGlobalInstFn(getFn, theArgs) {
455
+ var cachedValue;
456
+ return function () {
457
+ !_globalLazyTestHooks && _initTestHooks();
458
+ (!cachedValue || _globalLazyTestHooks.lzy) && (cachedValue = createCachedValue(safe(getFn, theArgs).v));
459
+ return cachedValue.v;
460
+ };
461
+ }
462
+ /*#__NO_SIDE_EFFECTS__*/
463
+ function lazySafeGetInst(name) {
464
+ return getLazy(function () { return safe((getInst), [name]).v || UNDEF_VALUE; });
465
+ }
466
+ /*#__NO_SIDE_EFFECTS__*/
467
+ function getGlobal(useCached) {
468
+ !_globalLazyTestHooks && _initTestHooks();
469
+ (!_cachedGlobal || useCached === false || _globalLazyTestHooks.lzy) && (_cachedGlobal = createCachedValue(safe(_getGlobalValue).v || NULL_VALUE));
447
470
  return _cachedGlobal.v;
448
- };
449
- var getInst = function (name, useCached) {
471
+ }
472
+ /*#__NO_SIDE_EFFECTS__*/
473
+ function getInst(name, useCached) {
450
474
  var gbl = (!_cachedGlobal || useCached === false) ? getGlobal(useCached) : _cachedGlobal.v;
451
475
  if (gbl && gbl[name]) {
452
476
  return gbl[name];
453
477
  }
454
- if (name === WINDOW && _cachedWindow) {
455
- return _cachedWindow.v;
478
+ if (name === WINDOW) {
479
+ return getWindow();
456
480
  }
457
481
  return NULL_VALUE;
458
- };
459
- var hasDocument = function () { return !!getDocument(); };
460
- var getDocument = function () {
461
- (!_cachedDocument || (_globalLazyTestHooks && _globalLazyTestHooks.lzy && !_cachedDocument.b)) && (_cachedDocument = lazySafeGetInst("document"));
462
- return _cachedDocument.v;
463
- };
464
- var hasWindow = function () { return !!getWindow(); };
465
- var getWindow = function () {
466
- (!_cachedWindow || (_globalLazyTestHooks && _globalLazyTestHooks.lzy && !_cachedWindow.b)) && (_cachedWindow = lazySafeGetInst(WINDOW));
467
- return _cachedWindow.v;
468
- };
469
- var hasNavigator = function () { return !!getNavigator(); };
470
- var getNavigator = function () {
471
- (!_cachedNavigator || (_globalLazyTestHooks && _globalLazyTestHooks.lzy && !_cachedNavigator.b)) && (_cachedNavigator = lazySafeGetInst("navigator"));
472
- return _cachedNavigator.v;
473
- };
474
- var hasHistory = function () { return !!getHistory(); };
475
- var getHistory = function () {
476
- (!_cachedHistory || (_globalLazyTestHooks && _globalLazyTestHooks.lzy && !_cachedHistory.b)) && (_cachedHistory = lazySafeGetInst("history"));
477
- return _cachedHistory.v;
478
- };
479
- var isNode = function () {
480
- !_isNode && (_isNode = safeGetLazy(function () { return !!(process && (process.versions || {}).node); }, false));
481
- return _isNode.v;
482
- };
482
+ }
483
+ /*#__NO_SIDE_EFFECTS__*/
484
+ function hasDocument() {
485
+ return !!getDocument();
486
+ }
487
+ var getDocument = ( /*#__PURE__*/_getGlobalInstFn(getInst, ["document"]));
488
+ /*#__NO_SIDE_EFFECTS__*/
489
+ function hasWindow() {
490
+ return !!getWindow();
491
+ }
492
+ var getWindow = ( /*#__PURE__*/_getGlobalInstFn(getInst, [WINDOW]));
493
+ /*#__NO_SIDE_EFFECTS__*/
494
+ function hasNavigator() {
495
+ return !!getNavigator();
496
+ }
497
+ var getNavigator = ( /*#__PURE__*/_getGlobalInstFn(getInst, ["navigator"]));
498
+ /*#__NO_SIDE_EFFECTS__*/
499
+ function hasHistory() {
500
+ return !!getHistory();
501
+ }
502
+ var getHistory = ( /*#__PURE__*/_getGlobalInstFn(getInst, ["history"]));
503
+ var isNode = ( /*#__PURE__*/_getGlobalInstFn(function () {
504
+ return !!safe(function () { return (process && (process.versions || {}).node); }).v;
505
+ }));
483
506
 
484
507
  var _symbol;
485
508
  var _symbolFor;
486
- var _symbolKeyFor;
487
- function _getSymbolValue(name) {
488
- return safeGetLazy(function () {
489
- return (_symbol.v ? _symbol.v[name] : UNDEF_VALUE);
490
- }, UNDEF_VALUE);
509
+ function _initSymbol() {
510
+ if (!_symbol || !_symbol.b) {
511
+ _symbol = lazySafeGetInst(SYMBOL);
512
+ _symbolFor = safeGetLazy(function () { return (_symbol.v ? _symbol.v["for"] : UNDEF_VALUE); }, UNDEF_VALUE);
513
+ }
491
514
  }
492
- var isSymbol = _createIs("symbol");
515
+ var isSymbol = ( /*#__PURE__*/_createIs("symbol"));
516
+ /*#__NO_SIDE_EFFECTS__*/
493
517
  function hasSymbol() {
494
518
  return !!getSymbol();
495
519
  }
520
+ /*#__NO_SIDE_EFFECTS__*/
496
521
  function getSymbol() {
497
- var resetCache = !_symbol || (_globalLazyTestHooks && _globalLazyTestHooks.lzy && !_symbol.b);
498
- resetCache && (_symbol = lazySafeGetInst(SYMBOL));
499
- (!_symbolFor || resetCache) && (_symbolFor = _getSymbolValue("for"));
500
- (!_symbolKeyFor || resetCache) && (_symbolKeyFor = _getSymbolValue("keyFor"));
522
+ !_globalLazyTestHooks && _initTestHooks();
523
+ (!_symbol || _globalLazyTestHooks.lzy) && _initSymbol();
501
524
  return _symbol.v;
502
525
  }
526
+ /*#__NO_SIDE_EFFECTS__*/
503
527
  function getKnownSymbol(name, noPoly) {
504
528
  var knownName = _wellKnownSymbolMap[name];
505
- (!_symbol || (_globalLazyTestHooks.lzy && !_symbol.b)) && getSymbol();
529
+ !_globalLazyTestHooks && _initTestHooks();
530
+ (!_symbol || _globalLazyTestHooks.lzy) && _initSymbol();
506
531
  return _symbol.v ? _symbol.v[knownName || name] : (!noPoly ? polyGetKnownSymbol(name) : UNDEF_VALUE);
507
532
  }
533
+ /*#__NO_SIDE_EFFECTS__*/
508
534
  function newSymbol(description, noPoly) {
509
- (!_symbol || (_globalLazyTestHooks.lzy && !_symbol.b)) && getSymbol();
535
+ !_globalLazyTestHooks && _initTestHooks();
536
+ (!_symbol || _globalLazyTestHooks.lzy) && _initSymbol();
510
537
  return _symbol.v ? _symbol.v(description) : (!noPoly ? polyNewSymbol(description) : NULL_VALUE);
511
538
  }
539
+ /*#__NO_SIDE_EFFECTS__*/
512
540
  function symbolFor(key) {
513
- (!_symbolFor || (_globalLazyTestHooks.lzy && !_symbol.b)) && getSymbol();
541
+ !_globalLazyTestHooks && _initTestHooks();
542
+ (!_symbolFor || !_symbol || _globalLazyTestHooks.lzy) && _initSymbol();
514
543
  return (_symbolFor.v || polySymbolFor)(key);
515
544
  }
516
545
 
546
+ /*#__NO_SIDE_EFFECTS__*/
517
547
  function isIterator(value) {
518
548
  return !!value && isFunction(value.next);
519
549
  }
550
+ /*#__NO_SIDE_EFFECTS__*/
520
551
  function isIterable(value) {
521
552
  return !isStrictNullOrUndefined(value) && isFunction(value[getKnownSymbol(3 )]);
522
553
  }
@@ -525,7 +556,7 @@
525
556
  function iterForOf(iter, callbackfn, thisArg) {
526
557
  if (iter) {
527
558
  if (!isIterator(iter)) {
528
- !_iterSymbol && (_iterSymbol = getLazy(function () { return getKnownSymbol(3 ); }));
559
+ !_iterSymbol && (_iterSymbol = createCachedValue(getKnownSymbol(3 )));
529
560
  iter = iter[_iterSymbol.v] ? iter[_iterSymbol.v]() : null;
530
561
  }
531
562
  if (isIterator(iter)) {
@@ -533,8 +564,8 @@
533
564
  var iterResult = void 0;
534
565
  try {
535
566
  var count = 0;
536
- while (!(iterResult = iter.next())[DONE]) {
537
- if (callbackfn.call(thisArg || iter, iterResult[VALUE], count, iter) === -1) {
567
+ while (!(iterResult = iter.next()).done) {
568
+ if (callbackfn[CALL](thisArg || iter, iterResult.value, count, iter) === -1) {
538
569
  break;
539
570
  }
540
571
  count++;
@@ -549,7 +580,7 @@
549
580
  }
550
581
  finally {
551
582
  try {
552
- if (iterResult && !iterResult[DONE]) {
583
+ if (iterResult && !iterResult.done) {
553
584
  iter.return && iter.return(iterResult);
554
585
  }
555
586
  }
@@ -563,7 +594,9 @@
563
594
  }
564
595
  }
565
596
 
566
- var fnApply = _unwrapInstFunction("apply");
597
+ function fnApply(fn, thisArg, argArray) {
598
+ return fn.apply(thisArg, argArray);
599
+ }
567
600
 
568
601
  function arrAppend(target, elms) {
569
602
  if (!isUndefined(elms) && target) {
@@ -587,7 +620,7 @@
587
620
  var len = theArray[LENGTH] >>> 0;
588
621
  for (var idx = 0; idx < len; idx++) {
589
622
  if (idx in theArray) {
590
- if (callbackfn.call(thisArg || theArray, theArray[idx], idx, theArray) === -1) {
623
+ if (callbackfn[CALL](thisArg || theArray, theArray[idx], idx, theArray) === -1) {
591
624
  break;
592
625
  }
593
626
  }
@@ -595,25 +628,25 @@
595
628
  }
596
629
  }
597
630
 
598
- var arrIndexOf = _unwrapFunction(INDEX_OF, ArrProto);
599
-
600
- var arrMap = _unwrapFunction("map", ArrProto);
631
+ var arrIndexOf = ( /*#__PURE__*/_unwrapFunction("indexOf", ArrProto));
601
632
 
602
- var arrSlice = _unwrapFunction(SLICE, ArrProto);
633
+ var arrMap = ( /*#__PURE__*/_unwrapFunction("map", ArrProto));
603
634
 
604
- var fnCall = _unwrapInstFunction("call");
635
+ function arrSlice(theArray, start, end) {
636
+ return ((theArray && theArray["slice"]) || ArrSlice).apply(theArray, ArrSlice[CALL](arguments, 1));
637
+ }
605
638
 
606
- var arrReduce = _unwrapFunction("reduce", ArrProto);
639
+ var arrReduce = ( /*#__PURE__*/_unwrapFunction("reduce", ArrProto));
607
640
 
608
- var _objCreate = ObjClass$1["create"];
609
- var objCreate = _objCreate || polyObjCreate;
641
+ var objCreate = ObjClass$1["create"] || polyObjCreate;
642
+ /*#__NO_SIDE_EFFECTS__*/
610
643
  function polyObjCreate(obj) {
611
644
  if (!obj) {
612
645
  return {};
613
646
  }
614
647
  var type = typeof obj;
615
648
  if (type !== OBJECT && type !== FUNCTION) {
616
- throw new TypeError("Prototype must be an Object or function: " + dumpObj(obj));
649
+ throwTypeError("Prototype must be an Object or function: " + dumpObj(obj));
617
650
  }
618
651
  function tempFunc() { }
619
652
  tempFunc[PROTOTYPE] = obj;
@@ -633,39 +666,31 @@
633
666
  return fn(obj, proto);
634
667
  }
635
668
 
636
- var _createCustomError = function (name, d, b) {
637
- _safeDefineName(d, name);
669
+ /*#__NO_SIDE_EFFECTS__*/
670
+ function _createCustomError(name, d, b) {
671
+ safe(objDefine, [d, NAME, { v: name, c: true, e: false }]);
638
672
  d = objSetPrototypeOf(d, b);
639
673
  function __() {
640
674
  this.constructor = d;
641
- _safeDefineName(this, name);
675
+ safe(objDefine, [this, NAME, { v: name, c: true, e: false }]);
642
676
  }
643
677
  d[PROTOTYPE] = b === NULL_VALUE ? objCreate(b) : (__[PROTOTYPE] = b[PROTOTYPE], new __());
644
678
  return d;
645
- };
646
- var _safeSetName = function (baseClass, name) {
647
- try {
648
- name && (baseClass[NAME] = name);
649
- }
650
- catch (e) {
651
- }
652
- };
653
- var _safeDefineName = function (target, name) {
654
- try {
655
- objDefine(target, NAME, { v: name, c: true, e: false });
656
- }
657
- catch (e) {
658
- }
659
- };
679
+ }
680
+ function _setName(baseClass, name) {
681
+ name && (baseClass[NAME] = name);
682
+ }
683
+ /*#__NO_SIDE_EFFECTS__*/
660
684
  function createCustomError(name, constructCb, errorBase) {
661
685
  var theBaseClass = errorBase || Error;
662
686
  var orgName = theBaseClass[PROTOTYPE][NAME];
663
687
  var captureFn = Error.captureStackTrace;
664
688
  return _createCustomError(name, function () {
665
689
  var _this = this;
690
+ var theArgs = arguments;
666
691
  try {
667
- _safeSetName(theBaseClass, name);
668
- var _self = fnApply(theBaseClass, _this, arrSlice(arguments)) || _this;
692
+ safe(_setName, [theBaseClass, name]);
693
+ var _self = fnApply(theBaseClass, _this, ArrSlice[CALL](theArgs)) || _this;
669
694
  if (_self !== _this) {
670
695
  var orgProto = objGetPrototypeOf(_this);
671
696
  if (orgProto !== objGetPrototypeOf(_self)) {
@@ -673,22 +698,25 @@
673
698
  }
674
699
  }
675
700
  captureFn && captureFn(_self, _this[CONSTRUCTOR]);
676
- constructCb && constructCb(_self, arguments);
701
+ constructCb && constructCb(_self, theArgs);
677
702
  return _self;
678
703
  }
679
704
  finally {
680
- _safeSetName(theBaseClass, orgName);
705
+ safe(_setName, [theBaseClass, orgName]);
681
706
  }
682
707
  }, theBaseClass);
683
708
  }
684
709
 
710
+ /*#__NO_SIDE_EFFECTS__*/
685
711
  function utcNow() {
686
712
  return (Date.now || polyUtcNow)();
687
713
  }
714
+ /*#__NO_SIDE_EFFECTS__*/
688
715
  function polyUtcNow() {
689
716
  return new Date().getTime();
690
717
  }
691
718
 
719
+ /*#__NO_SIDE_EFFECTS__*/
692
720
  function _createTrimFn(exp) {
693
721
  return function _doTrim(value) {
694
722
  if (isNullOrUndefined(value)) {
@@ -700,13 +728,14 @@
700
728
  return value;
701
729
  };
702
730
  }
703
- var polyStrTrim = _createTrimFn(/^\s+|(?=\s)\s+$/g);
731
+ var polyStrTrim = ( /*#__PURE__*/_createTrimFn(/^\s+|(?=\s)\s+$/g));
704
732
 
705
- var strTrim = _unwrapFunctionWithPoly("trim", StrProto, polyStrTrim);
733
+ var strTrim = ( /*#__PURE__*/_unwrapFunctionWithPoly("trim", StrProto, polyStrTrim));
706
734
 
707
735
  var _fnToString;
708
736
  var _objCtrFnString;
709
737
  var _gblWindow;
738
+ /*#__NO_SIDE_EFFECTS__*/
710
739
  function isPlainObject(value) {
711
740
  if (!value || typeof value !== OBJECT) {
712
741
  return false;
@@ -717,8 +746,8 @@
717
746
  var result = false;
718
747
  if (value !== _gblWindow) {
719
748
  if (!_objCtrFnString) {
720
- _fnToString = Function[PROTOTYPE].toString;
721
- _objCtrFnString = fnCall(_fnToString, ObjClass$1);
749
+ _fnToString = Function[PROTOTYPE][TO_STRING];
750
+ _objCtrFnString = _fnToString[CALL](ObjClass$1);
722
751
  }
723
752
  try {
724
753
  var proto = objGetPrototypeOf(value);
@@ -727,7 +756,7 @@
727
756
  if (objHasOwnProperty(proto, CONSTRUCTOR)) {
728
757
  proto = proto[CONSTRUCTOR];
729
758
  }
730
- result = proto && typeof proto === FUNCTION && _fnToString.call(proto) === _objCtrFnString;
759
+ result = proto && typeof proto === FUNCTION && _fnToString[CALL](proto) === _objCtrFnString;
731
760
  }
732
761
  }
733
762
  catch (ex) {
@@ -736,16 +765,18 @@
736
765
  return result;
737
766
  }
738
767
 
739
- var _defaultDeepCopyHandler = function (details) {
768
+ /*#__NO_SIDE_EFFECTS__*/
769
+ function _defaultDeepCopyHandler(details) {
740
770
  details.value && plainObjDeepCopyHandler(details);
741
771
  return true;
742
- };
772
+ }
743
773
  var defaultDeepCopyHandlers = [
744
774
  arrayDeepCopyHandler,
745
775
  plainObjDeepCopyHandler,
746
776
  functionDeepCopyHandler,
747
777
  dateDeepCopyHandler
748
778
  ];
779
+ /*#__NO_SIDE_EFFECTS__*/
749
780
  function _getSetVisited(visitMap, source, newPath, cb) {
750
781
  var theEntry;
751
782
  arrForEach(visitMap, function (entry) {
@@ -805,12 +836,12 @@
805
836
  });
806
837
  var idx = 0;
807
838
  var handler = userHandler;
808
- while (!fnCall(handler || (idx < defaultDeepCopyHandlers.length ? defaultDeepCopyHandlers[idx++] : _defaultDeepCopyHandler), ctx, details)) {
839
+ while (!(handler || (idx < defaultDeepCopyHandlers.length ? defaultDeepCopyHandlers[idx++] : _defaultDeepCopyHandler))[CALL](ctx, details)) {
809
840
  handler = NULL_VALUE;
810
841
  }
811
842
  });
812
843
  }
813
- if (userHandler && fnCall(userHandler, ctx, details)) {
844
+ if (userHandler && userHandler[CALL](ctx, details)) {
814
845
  return details.result;
815
846
  }
816
847
  return value;
@@ -831,6 +862,7 @@
831
862
  };
832
863
  return _copyProps([], target, source, ctx);
833
864
  }
865
+ /*#__NO_SIDE_EFFECTS__*/
834
866
  function objDeepCopy(source, handler) {
835
867
  var ctx = {
836
868
  handler: handler,
@@ -879,16 +911,19 @@
879
911
  return target;
880
912
  }
881
913
  function deepExtend(target, obj1, obj2, obj3, obj4, obj5, obj6) {
882
- return _doExtend(objDeepCopy(target) || {}, arrSlice(arguments));
914
+ return _doExtend(objDeepCopy(target) || {}, ArrSlice[CALL](arguments));
883
915
  }
884
916
 
885
- var getLength = _unwrapProp(LENGTH);
917
+ var getLength = ( /*#__PURE__*/_unwrapProp(LENGTH));
886
918
 
887
919
  var _perf;
920
+ /*#__NO_SIDE_EFFECTS__*/
888
921
  function getPerformance() {
889
- (!_perf || (!_perf.b && _globalLazyTestHooks && _globalLazyTestHooks.lzy)) && (_perf = lazySafeGetInst("performance"));
922
+ !_globalLazyTestHooks && _initTestHooks();
923
+ (!_perf || (!_perf.b && _globalLazyTestHooks.lzy)) && (_perf = lazySafeGetInst("performance"));
890
924
  return _perf.v;
891
925
  }
926
+ /*#__NO_SIDE_EFFECTS__*/
892
927
  function perfNow() {
893
928
  var perf = getPerformance();
894
929
  if (perf && perf.now) {
@@ -897,70 +932,76 @@
897
932
  return utcNow();
898
933
  }
899
934
 
900
- var strEndsWith = _unwrapFunctionWithPoly("endsWith", StrProto, polyStrEndsWith);
935
+ var strEndsWith = ( /*#__PURE__*/_unwrapFunctionWithPoly("endsWith", StrProto, polyStrEndsWith));
936
+ /*#__NO_SIDE_EFFECTS__*/
901
937
  function polyStrEndsWith(value, searchString, length) {
902
938
  if (!isString(value)) {
903
939
  throwTypeError("'" + dumpObj(value) + "' is not a string");
904
940
  }
905
941
  var searchValue = isString(searchString) ? searchString : asString(searchString);
906
- var chkLen = searchValue[LENGTH];
907
- var len = value[LENGTH];
908
- var end = !isUndefined(length) && length < len ? length : len;
909
- return strSubstring(value, end - chkLen, end) === searchValue;
942
+ var end = !isUndefined(length) && length < value[LENGTH] ? length : value[LENGTH];
943
+ return strSubstring(value, end - searchValue[LENGTH], end) === searchValue;
910
944
  }
911
945
 
912
- var strIndexOf = _unwrapFunction(INDEX_OF, StrProto);
946
+ var strIndexOf = ( /*#__PURE__*/_unwrapFunction("indexOf", StrProto));
947
+
948
+ var strStartsWith = ( /*#__PURE__*/_unwrapFunctionWithPoly("startsWith", StrProto, polyStrStartsWith));
949
+ /*#__NO_SIDE_EFFECTS__*/
950
+ function polyStrStartsWith(value, searchString, position) {
951
+ if (!isString(value)) {
952
+ throwTypeError("'" + dumpObj(value) + "' is not a string");
953
+ }
954
+ var searchValue = isString(searchString) ? searchString : asString(searchString);
955
+ var pos = position > 0 ? position : 0;
956
+ return strSubstring(value, pos, pos + searchValue[LENGTH]) === searchValue;
957
+ }
913
958
 
914
959
  var REF = "ref";
915
- var UNREF = "un" + REF;
960
+ var UNREF = "unref";
916
961
  var HAS_REF = "hasRef";
917
962
  var ENABLED = "enabled";
963
+ /*#__NO_SIDE_EFFECTS__*/
918
964
  function _createTimerHandler(startTimer, refreshFn, cancelFn) {
919
- var _a;
920
965
  var ref = true;
921
966
  var timerId = startTimer ? refreshFn(NULL_VALUE) : NULL_VALUE;
922
967
  var theTimerHandler;
923
- var _unref = function () {
968
+ function _unref() {
924
969
  ref = false;
925
970
  timerId && timerId[UNREF] && timerId[UNREF]();
926
971
  return theTimerHandler;
927
- };
928
- var _ref = function () {
929
- ref = true;
930
- timerId && timerId[REF] && timerId[REF]();
972
+ }
973
+ function _cancel() {
974
+ timerId && cancelFn(timerId);
975
+ timerId = NULL_VALUE;
976
+ }
977
+ function _refresh() {
978
+ timerId = refreshFn(timerId);
979
+ if (!ref) {
980
+ _unref();
981
+ }
931
982
  return theTimerHandler;
983
+ }
984
+ function _setEnabled(value) {
985
+ !value && timerId && _cancel();
986
+ value && !timerId && _refresh();
987
+ }
988
+ theTimerHandler = {
989
+ cancel: _cancel,
990
+ refresh: _refresh
932
991
  };
933
- var _hasRef = function () {
992
+ theTimerHandler[HAS_REF] = function () {
934
993
  if (timerId && timerId[HAS_REF]) {
935
994
  return timerId[HAS_REF]();
936
995
  }
937
996
  return ref;
938
997
  };
939
- var _refresh = function () {
940
- timerId = refreshFn(timerId);
941
- if (!ref) {
942
- _unref();
943
- }
998
+ theTimerHandler[REF] = function () {
999
+ ref = true;
1000
+ timerId && timerId[REF] && timerId[REF]();
944
1001
  return theTimerHandler;
945
1002
  };
946
- var _cancel = function () {
947
- timerId && cancelFn(timerId);
948
- timerId = NULL_VALUE;
949
- };
950
- var _setEnabled = function (value) {
951
- !value && timerId && _cancel();
952
- value && !timerId && _refresh();
953
- };
954
- theTimerHandler = (_a = {
955
- cancel: _cancel,
956
- refresh: _refresh
957
- },
958
- _a[HAS_REF] = _hasRef,
959
- _a[REF] = _ref,
960
- _a[UNREF] = _unref,
961
- _a[ENABLED] = false,
962
- _a);
963
- objDefineProp(theTimerHandler, ENABLED, {
1003
+ theTimerHandler[UNREF] = _unref;
1004
+ theTimerHandler = objDefineProp(theTimerHandler, ENABLED, {
964
1005
  get: function () { return !!timerId; },
965
1006
  set: _setEnabled
966
1007
  });
@@ -972,7 +1013,7 @@
972
1013
  };
973
1014
  }
974
1015
 
975
- function _createTimeoutWith(self, startTimer, overrideFn, theArgs) {
1016
+ function _createTimeoutWith(startTimer, overrideFn, theArgs) {
976
1017
  var isArr = isArray(overrideFn);
977
1018
  var len = isArr ? overrideFn.length : 0;
978
1019
  var setFn = (len > 0 ? overrideFn[0] : (!isArr ? overrideFn : UNDEF_VALUE)) || setTimeout;
@@ -980,7 +1021,7 @@
980
1021
  var timerFn = theArgs[0];
981
1022
  theArgs[0] = function () {
982
1023
  handler.dn();
983
- fnApply(timerFn, self, arrSlice(arguments));
1024
+ fnApply(timerFn, UNDEF_VALUE, ArrSlice[CALL](arguments));
984
1025
  };
985
1026
  var handler = _createTimerHandler(startTimer, function (timerId) {
986
1027
  if (timerId) {
@@ -988,19 +1029,19 @@
988
1029
  timerId.refresh();
989
1030
  return timerId;
990
1031
  }
991
- fnApply(clearFn, self, [timerId]);
1032
+ fnApply(clearFn, UNDEF_VALUE, [timerId]);
992
1033
  }
993
- return fnApply(setFn, self, theArgs);
1034
+ return fnApply(setFn, UNDEF_VALUE, theArgs);
994
1035
  }, function (timerId) {
995
- fnApply(clearFn, self, [timerId]);
1036
+ fnApply(clearFn, UNDEF_VALUE, [timerId]);
996
1037
  });
997
1038
  return handler.h;
998
1039
  }
999
1040
  function scheduleTimeout(callback, timeout) {
1000
- return _createTimeoutWith(this, true, UNDEF_VALUE, arrSlice(arguments));
1041
+ return _createTimeoutWith(true, UNDEF_VALUE, ArrSlice[CALL](arguments));
1001
1042
  }
1002
1043
  function createTimeout(callback, timeout) {
1003
- return _createTimeoutWith(this, false, UNDEF_VALUE, arrSlice(arguments));
1044
+ return _createTimeoutWith(false, UNDEF_VALUE, ArrSlice[CALL](arguments));
1004
1045
  }
1005
1046
 
1006
1047
  var createEnumStyle = createEnum;
@@ -1032,16 +1073,16 @@
1032
1073
  var _DYN_CANCEL = "cancel";
1033
1074
  var _DYN_INITIALIZE = "initialize";
1034
1075
  var _DYN_IDENTIFIER = "identifier";
1076
+ var _DYN_REMOVE_NOTIFICATION_0 = "removeNotificationListener";
1077
+ var _DYN_ADD_NOTIFICATION_LIS1 = "addNotificationListener";
1035
1078
  var _DYN_IS_INITIALIZED = "isInitialized";
1079
+ var _DYN_GET_NOTIFY_MGR = "getNotifyMgr";
1036
1080
  var _DYN_GET_PLUGIN = "getPlugin";
1037
1081
  var _DYN_POLL_INTERNAL_LOGS = "pollInternalLogs";
1038
1082
  var _DYN_NAME = "name";
1039
1083
  var _DYN_TIME = "time";
1040
1084
  var _DYN_PROCESS_NEXT = "processNext";
1041
- var _DYN_GET_PROCESS_TEL_CONT0 = "getProcessTelContext";
1042
- var _DYN_GET_NOTIFY_MGR = "getNotifyMgr";
1043
- var _DYN_ADD_NOTIFICATION_LIS1 = "addNotificationListener";
1044
- var _DYN_REMOVE_NOTIFICATION_2 = "removeNotificationListener";
1085
+ var _DYN_GET_PROCESS_TEL_CONT2 = "getProcessTelContext";
1045
1086
  var _DYN_ENABLED = "enabled";
1046
1087
  var _DYN_STOP_POLLING_INTERNA3 = "stopPollingInternalLogs";
1047
1088
  var _DYN_UNLOAD = "unload";
@@ -1095,8 +1136,6 @@
1095
1136
  var strShimPrototype = "prototype";
1096
1137
  var ObjClass = Object;
1097
1138
 
1098
- (getGlobal() || {})["Symbol"];
1099
- (getGlobal() || {})["Reflect"];
1100
1139
  var strHasOwnProperty = "hasOwnProperty";
1101
1140
  var extendStaticsFn = function (d, b) {
1102
1141
  extendStaticsFn = ObjClass["setPrototypeOf"] ||
@@ -1199,13 +1238,13 @@
1199
1238
  }
1200
1239
  }
1201
1240
  function _isDynamicCandidate(target, funcName, skipOwn) {
1202
- return (funcName !== Constructor && typeof target[funcName] === strFunction && (skipOwn || objHasOwnProperty(target, funcName)));
1241
+ return (funcName !== Constructor && typeof target[funcName] === strFunction && (skipOwn || objHasOwnProperty(target, funcName)) && funcName !== str__Proto && funcName !== Prototype);
1203
1242
  }
1204
1243
  function _throwTypeError(message) {
1205
1244
  throwTypeError("DynamicProto: " + message);
1206
1245
  }
1207
1246
  function _getInstanceFuncs(thisTarget) {
1208
- var instFuncs = {};
1247
+ var instFuncs = objCreate(null);
1209
1248
  _forEachProp(thisTarget, function (name) {
1210
1249
  if (!instFuncs[name] && _isDynamicCandidate(thisTarget, name, false)) {
1211
1250
  instFuncs[name] = thisTarget[name];
@@ -1234,7 +1273,7 @@
1234
1273
  return theFunc.apply(target, arguments);
1235
1274
  };
1236
1275
  }
1237
- var baseFuncs = {};
1276
+ var baseFuncs = objCreate(null);
1238
1277
  _forEachProp(instFuncs, function (name) {
1239
1278
  baseFuncs[name] = _instFuncProxy(thisTarget, instFuncs, name);
1240
1279
  });
@@ -1254,8 +1293,8 @@
1254
1293
  function _getInstFunc(target, funcName, proto, currentDynProtoProxy) {
1255
1294
  var instFunc = null;
1256
1295
  if (target && objHasOwnProperty(proto, DynClassName)) {
1257
- var instFuncTable = target[DynInstFuncTable] || {};
1258
- instFunc = (instFuncTable[proto[DynClassName]] || {})[funcName];
1296
+ var instFuncTable = target[DynInstFuncTable] || objCreate(null);
1297
+ instFunc = (instFuncTable[proto[DynClassName]] || objCreate(null))[funcName];
1259
1298
  if (!instFunc) {
1260
1299
  _throwTypeError("Missing [" + funcName + "] " + strFunction);
1261
1300
  }
@@ -1305,20 +1344,24 @@
1305
1344
  return dynProtoProxy;
1306
1345
  }
1307
1346
  if (!_isObjectOrArrayPrototype(proto)) {
1308
- var instFuncTable = target[DynInstFuncTable] = target[DynInstFuncTable] || {};
1309
- var instFuncs_1 = instFuncTable[className] = (instFuncTable[className] || {});
1310
- if (instFuncTable[DynAllowInstChkTag] !== false) {
1311
- instFuncTable[DynAllowInstChkTag] = !!setInstanceFunc;
1312
- }
1313
- _forEachProp(target, function (name) {
1314
- if (_isDynamicCandidate(target, name, false) && target[name] !== baseInstFuncs[name]) {
1315
- instFuncs_1[name] = target[name];
1316
- delete target[name];
1317
- if (!objHasOwnProperty(proto, name) || (proto[name] && !proto[name][DynProxyTag])) {
1318
- proto[name] = _createDynamicPrototype(proto, name);
1319
- }
1347
+ var instFuncTable = target[DynInstFuncTable] = target[DynInstFuncTable] || objCreate(null);
1348
+ if (!_isObjectOrArrayPrototype(instFuncTable)) {
1349
+ var instFuncs_1 = instFuncTable[className] = (instFuncTable[className] || objCreate(null));
1350
+ if (instFuncTable[DynAllowInstChkTag] !== false) {
1351
+ instFuncTable[DynAllowInstChkTag] = !!setInstanceFunc;
1352
+ }
1353
+ if (!_isObjectOrArrayPrototype(instFuncs_1)) {
1354
+ _forEachProp(target, function (name) {
1355
+ if (_isDynamicCandidate(target, name, false) && target[name] !== baseInstFuncs[name]) {
1356
+ instFuncs_1[name] = target[name];
1357
+ delete target[name];
1358
+ if (!objHasOwnProperty(proto, name) || (proto[name] && !proto[name][DynProxyTag])) {
1359
+ proto[name] = _createDynamicPrototype(proto, name);
1360
+ }
1361
+ }
1362
+ });
1320
1363
  }
1321
- });
1364
+ }
1322
1365
  }
1323
1366
  }
1324
1367
  function _checkPrototype(classProto, thisTarget) {
@@ -1377,15 +1420,15 @@
1377
1420
 
1378
1421
  function doAwaitResponse(value, cb) {
1379
1422
  return doAwait(value, function (value) {
1380
- cb && cb({
1423
+ return cb ? cb({
1381
1424
  value: value,
1382
1425
  rejected: false
1383
- });
1426
+ }) : value;
1384
1427
  }, function (reason) {
1385
- cb && cb({
1428
+ return cb ? cb({
1386
1429
  rejected: true,
1387
1430
  reason: reason
1388
- });
1431
+ }) : reason;
1389
1432
  });
1390
1433
  }
1391
1434
  function doAwait(value, resolveFn, rejectFn, finallyFn) {
@@ -1396,10 +1439,12 @@
1396
1439
  }
1397
1440
  }
1398
1441
  else {
1399
- resolveFn && resolveFn(value);
1442
+ if (resolveFn) {
1443
+ result = resolveFn(value);
1444
+ }
1400
1445
  }
1401
1446
  if (finallyFn) {
1402
- result = doFinally(result, finallyFn);
1447
+ doFinally(result, finallyFn);
1403
1448
  }
1404
1449
  return result;
1405
1450
  }
@@ -2231,7 +2276,7 @@
2231
2276
  return result;
2232
2277
  }
2233
2278
 
2234
- var version = '3.0.7';
2279
+ var version = '3.0.9';
2235
2280
  var instanceName = "." + newId(6);
2236
2281
  var _dataUid = 0;
2237
2282
  function _canAcceptData(target) {
@@ -2800,6 +2845,7 @@
2800
2845
  configHandler = null;
2801
2846
  }
2802
2847
  };
2848
+ objDefine(handler, "toJSON", { v: function () { return "WatcherHandler" + (handler.fn ? "" : "[X]"); } });
2803
2849
  state.use(handler, configHandler);
2804
2850
  return handler;
2805
2851
  }
@@ -3516,18 +3562,26 @@
3516
3562
  var defaultValues$1 = {
3517
3563
  perfEvtsSendAll: false
3518
3564
  };
3519
- function _runListeners(listeners, name, isAsync, callback) {
3565
+ function _runScheduledListeners(asyncNotifications) {
3566
+ asyncNotifications.h = null;
3567
+ var callbacks = asyncNotifications.cb;
3568
+ asyncNotifications.cb = [];
3569
+ arrForEach(callbacks, function (cb) {
3570
+ safe(cb.fn, [cb.arg]);
3571
+ });
3572
+ }
3573
+ function _runListeners(listeners, name, asyncNotifications, callback) {
3520
3574
  arrForEach(listeners, function (listener) {
3521
3575
  if (listener && listener[name]) {
3522
- if (isAsync) {
3523
- scheduleTimeout(function () { return callback(listener); }, 0);
3576
+ if (asyncNotifications) {
3577
+ asyncNotifications.cb[_DYN_PUSH ]({
3578
+ fn: callback,
3579
+ arg: listener
3580
+ });
3581
+ asyncNotifications.h = asyncNotifications.h || scheduleTimeout(_runScheduledListeners, 0, asyncNotifications);
3524
3582
  }
3525
3583
  else {
3526
- try {
3527
- callback(listener);
3528
- }
3529
- catch (e) {
3530
- }
3584
+ safe(callback, [listener]);
3531
3585
  }
3532
3586
  }
3533
3587
  });
@@ -3538,6 +3592,10 @@
3538
3592
  var perfEvtsSendAll;
3539
3593
  var unloadHandler;
3540
3594
  var _listeners = [];
3595
+ var _asyncNotifications = {
3596
+ h: null,
3597
+ cb: []
3598
+ };
3541
3599
  var cfgHandler = createDynamicConfig(config, defaultValues$1);
3542
3600
  unloadHandler = cfgHandler[_DYN_WATCH ](function (details) {
3543
3601
  perfEvtsSendAll = !!details.cfg.perfEvtsSendAll;
@@ -3549,7 +3607,7 @@
3549
3607
  _self[_DYN_ADD_NOTIFICATION_LIS1 ] = function (listener) {
3550
3608
  _listeners[_DYN_PUSH ](listener);
3551
3609
  };
3552
- _self[_DYN_REMOVE_NOTIFICATION_2 ] = function (listener) {
3610
+ _self[_DYN_REMOVE_NOTIFICATION_0 ] = function (listener) {
3553
3611
  var index = arrIndexOf(_listeners, listener);
3554
3612
  while (index > -1) {
3555
3613
  _listeners[_DYN_SPLICE ](index, 1);
@@ -3557,24 +3615,24 @@
3557
3615
  }
3558
3616
  };
3559
3617
  _self[STR_EVENTS_SENT ] = function (events) {
3560
- _runListeners(_listeners, STR_EVENTS_SENT, true, function (listener) {
3618
+ _runListeners(_listeners, STR_EVENTS_SENT, _asyncNotifications, function (listener) {
3561
3619
  listener[STR_EVENTS_SENT ](events);
3562
3620
  });
3563
3621
  };
3564
3622
  _self[STR_EVENTS_DISCARDED ] = function (events, reason) {
3565
- _runListeners(_listeners, STR_EVENTS_DISCARDED, true, function (listener) {
3623
+ _runListeners(_listeners, STR_EVENTS_DISCARDED, _asyncNotifications, function (listener) {
3566
3624
  listener[STR_EVENTS_DISCARDED ](events, reason);
3567
3625
  });
3568
3626
  };
3569
3627
  _self[STR_EVENTS_SEND_REQUEST ] = function (sendReason, isAsync) {
3570
- _runListeners(_listeners, STR_EVENTS_SEND_REQUEST, isAsync, function (listener) {
3628
+ _runListeners(_listeners, STR_EVENTS_SEND_REQUEST, isAsync ? _asyncNotifications : null, function (listener) {
3571
3629
  listener[STR_EVENTS_SEND_REQUEST ](sendReason, isAsync);
3572
3630
  });
3573
3631
  };
3574
3632
  _self[STR_PERF_EVENT ] = function (perfEvent) {
3575
3633
  if (perfEvent) {
3576
3634
  if (perfEvtsSendAll || !perfEvent[_DYN_IS_CHILD_EVT ]()) {
3577
- _runListeners(_listeners, STR_PERF_EVENT, false, function (listener) {
3635
+ _runListeners(_listeners, STR_PERF_EVENT, null, function (listener) {
3578
3636
  if (perfEvent[_DYN_IS_ASYNC ]) {
3579
3637
  scheduleTimeout(function () { return listener[STR_PERF_EVENT ](perfEvent); }, 0);
3580
3638
  }
@@ -3590,9 +3648,12 @@
3590
3648
  unloadHandler && unloadHandler.rm();
3591
3649
  unloadHandler = null;
3592
3650
  _listeners = [];
3651
+ _asyncNotifications.h && _asyncNotifications.h[_DYN_CANCEL ]();
3652
+ _asyncNotifications.h = null;
3653
+ _asyncNotifications.cb = [];
3593
3654
  };
3594
3655
  var waiting;
3595
- _runListeners(_listeners, "unload", false, function (listener) {
3656
+ _runListeners(_listeners, "unload", null, function (listener) {
3596
3657
  var asyncUnload = listener[_DYN_UNLOAD ](isAsync);
3597
3658
  if (asyncUnload) {
3598
3659
  if (!waiting) {
@@ -4406,6 +4467,12 @@
4406
4467
  };
4407
4468
  }
4408
4469
 
4470
+ var _maxHooks;
4471
+ var _hookAddMonitor;
4472
+ function _testHookMaxUnloadHooksCb(maxHooks, addMonitor) {
4473
+ _maxHooks = maxHooks;
4474
+ _hookAddMonitor = addMonitor;
4475
+ }
4409
4476
  function createUnloadHookContainer() {
4410
4477
  var _hooks = [];
4411
4478
  function _doUnload(logger) {
@@ -4419,10 +4486,16 @@
4419
4486
  _throwInternal(logger, 2 , 73 , "Unloading:" + dumpObj(e));
4420
4487
  }
4421
4488
  });
4489
+ if (_maxHooks && oldHooks[_DYN_LENGTH ] > _maxHooks) {
4490
+ _hookAddMonitor ? _hookAddMonitor("doUnload", oldHooks) : _throwInternal(null, 1 , 48 , "Max unload hooks exceeded. An excessive number of unload hooks has been detected.");
4491
+ }
4422
4492
  }
4423
4493
  function _addHook(hooks) {
4424
4494
  if (hooks) {
4425
4495
  arrAppend(_hooks, hooks);
4496
+ if (_maxHooks && _hooks[_DYN_LENGTH ] > _maxHooks) {
4497
+ _hookAddMonitor ? _hookAddMonitor("Add", _hooks) : _throwInternal(null, 1 , 48 , "Max unload hooks exceeded. An excessive number of unload hooks has been detected.");
4498
+ }
4426
4499
  }
4427
4500
  }
4428
4501
  return {
@@ -4550,7 +4623,7 @@
4550
4623
  function _setDefaults(config, core, pluginChain) {
4551
4624
  createDynamicConfig(config, defaultValues, safeGetLogger(core));
4552
4625
  if (!pluginChain && core) {
4553
- pluginChain = core[_DYN_GET_PROCESS_TEL_CONT0 ]()[_DYN_GET_NEXT ]();
4626
+ pluginChain = core[_DYN_GET_PROCESS_TEL_CONT2 ]()[_DYN_GET_NEXT ]();
4554
4627
  }
4555
4628
  var nextPlugin = _nextPlugin;
4556
4629
  if (_nextPlugin && _nextPlugin[strGetPlugin]) {
@@ -4754,6 +4827,27 @@
4754
4827
  };
4755
4828
  });
4756
4829
  }
4830
+ function _initDebugListener(configHandler, unloadContainer, notificationManager, debugListener) {
4831
+ unloadContainer.add(configHandler[_DYN_WATCH ](function (details) {
4832
+ var disableDbgExt = details.cfg.disableDbgExt;
4833
+ if (disableDbgExt === true && debugListener) {
4834
+ notificationManager[_DYN_REMOVE_NOTIFICATION_0 ](debugListener);
4835
+ debugListener = null;
4836
+ }
4837
+ if (notificationManager && !debugListener && disableDbgExt !== true) {
4838
+ debugListener = getDebugListener(details.cfg);
4839
+ notificationManager[_DYN_ADD_NOTIFICATION_LIS1 ](debugListener);
4840
+ }
4841
+ }));
4842
+ return debugListener;
4843
+ }
4844
+ function _createUnloadHook(unloadHook) {
4845
+ return objDefine({
4846
+ rm: function () {
4847
+ unloadHook.rm();
4848
+ }
4849
+ }, "toJSON", { v: function () { return "aicore::onCfgChange<" + JSON.stringify(unloadHook) + ">"; } });
4850
+ }
4757
4851
  var AppInsightsCore = /** @class */ (function () {
4758
4852
  function AppInsightsCore() {
4759
4853
  var _configHandler;
@@ -4810,7 +4904,7 @@
4810
4904
  }
4811
4905
  }));
4812
4906
  _notificationManager = notificationManager;
4813
- _initDebugListener();
4907
+ _debugListener = _initDebugListener(_configHandler, _hookContainer, _notificationManager && _self[_DYN_GET_NOTIFY_MGR ](), _debugListener);
4814
4908
  _initPerfManager();
4815
4909
  _self[_DYN_LOGGER ] = logger;
4816
4910
  var cfgExtensions = config[STR_EXTENSIONS ];
@@ -4863,7 +4957,7 @@
4863
4957
  }
4864
4958
  }, function () { return ({ item: telemetryItem }); }, !(telemetryItem.sync));
4865
4959
  };
4866
- _self[_DYN_GET_PROCESS_TEL_CONT0 ] = _createTelCtx;
4960
+ _self[_DYN_GET_PROCESS_TEL_CONT2 ] = _createTelCtx;
4867
4961
  _self[_DYN_GET_NOTIFY_MGR ] = function () {
4868
4962
  if (!_notificationManager) {
4869
4963
  _notificationManager = new NotificationManager(_configHandler.cfg);
@@ -4872,11 +4966,11 @@
4872
4966
  return _notificationManager;
4873
4967
  };
4874
4968
  _self[_DYN_ADD_NOTIFICATION_LIS1 ] = function (listener) {
4875
- _self[_DYN_GET_NOTIFY_MGR ]()[_DYN_ADD_NOTIFICATION_LIS1 ](listener);
4969
+ _self.getNotifyMgr()[_DYN_ADD_NOTIFICATION_LIS1 ](listener);
4876
4970
  };
4877
- _self[_DYN_REMOVE_NOTIFICATION_2 ] = function (listener) {
4971
+ _self[_DYN_REMOVE_NOTIFICATION_0 ] = function (listener) {
4878
4972
  if (_notificationManager) {
4879
- _notificationManager[_DYN_REMOVE_NOTIFICATION_2 ](listener);
4973
+ _notificationManager[_DYN_REMOVE_NOTIFICATION_0 ](listener);
4880
4974
  }
4881
4975
  };
4882
4976
  _self.getCookieMgr = function () {
@@ -4892,16 +4986,6 @@
4892
4986
  }
4893
4987
  };
4894
4988
  _self[STR_GET_PERF_MGR ] = function () {
4895
- if (!_perfManager && !_cfgPerfManager) {
4896
- _addUnloadHook(_configHandler[_DYN_WATCH ](function (details) {
4897
- if (details.cfg.enablePerfMgr) {
4898
- var createPerfMgr = details.cfg[STR_CREATE_PERF_MGR ];
4899
- if (isFunction(createPerfMgr)) {
4900
- _cfgPerfManager = createPerfMgr(_self, _self[_DYN_GET_NOTIFY_MGR ]());
4901
- }
4902
- }
4903
- }));
4904
- }
4905
4989
  return _perfManager || _cfgPerfManager || getGblPerfMgr();
4906
4990
  };
4907
4991
  _self.setPerfMgr = function (perfMgr) {
@@ -5096,11 +5180,7 @@
5096
5180
  else {
5097
5181
  unloadHook = onConfigChange(_configHandler.cfg, handler, _self[_DYN_LOGGER ]);
5098
5182
  }
5099
- return {
5100
- rm: function () {
5101
- unloadHook.rm();
5102
- }
5103
- };
5183
+ return _createUnloadHook(unloadHook);
5104
5184
  };
5105
5185
  _self.getWParam = function () {
5106
5186
  return (hasDocument() || !!_configHandler.cfg.enableWParam) ? 0 : -1;
@@ -5200,6 +5280,8 @@
5200
5280
  _pluginVersionString = null;
5201
5281
  _pluginVersionStringArr = null;
5202
5282
  _forceStopInternalLogPoller = false;
5283
+ _internalLogPoller = null;
5284
+ _internalLogPollerListening = false;
5203
5285
  }
5204
5286
  function _createTelCtx() {
5205
5287
  var theCtx = createProcessTelemetryContext(_getPluginChain(), _configHandler.cfg, _self);
@@ -5394,28 +5476,27 @@
5394
5476
  doCallback();
5395
5477
  return true;
5396
5478
  }
5397
- function _initDebugListener() {
5398
- !_notificationManager && _self[_DYN_GET_NOTIFY_MGR ]();
5399
- _addUnloadHook(_configHandler[_DYN_WATCH ](function (details) {
5400
- var disableDbgExt = details.cfg.disableDbgExt;
5401
- if (disableDbgExt === true && _debugListener) {
5402
- _notificationManager[_DYN_REMOVE_NOTIFICATION_2 ](_debugListener);
5403
- _debugListener = null;
5404
- }
5405
- if (_notificationManager && !_debugListener && disableDbgExt !== true) {
5406
- _debugListener = getDebugListener(details.cfg);
5407
- _notificationManager[_DYN_ADD_NOTIFICATION_LIS1 ](_debugListener);
5408
- }
5409
- }));
5410
- }
5411
5479
  function _initPerfManager() {
5480
+ var prevCfgPerfMgr;
5412
5481
  _addUnloadHook(_configHandler[_DYN_WATCH ](function (details) {
5413
5482
  var enablePerfMgr = details.cfg.enablePerfMgr;
5414
- if (!enablePerfMgr && _cfgPerfManager) {
5415
- _cfgPerfManager = null;
5416
- }
5417
5483
  if (enablePerfMgr) {
5418
- getSetValue(details.cfg, STR_CREATE_PERF_MGR, _createPerfManager);
5484
+ var createPerfMgr = details.cfg[STR_CREATE_PERF_MGR ];
5485
+ if (prevCfgPerfMgr !== createPerfMgr) {
5486
+ if (!createPerfMgr) {
5487
+ createPerfMgr = _createPerfManager;
5488
+ }
5489
+ getSetValue(details.cfg, STR_CREATE_PERF_MGR, createPerfMgr);
5490
+ prevCfgPerfMgr = createPerfMgr;
5491
+ _cfgPerfManager = null;
5492
+ }
5493
+ if (!_perfManager && !_cfgPerfManager && isFunction(createPerfMgr)) {
5494
+ _cfgPerfManager = createPerfMgr(_self, _self[_DYN_GET_NOTIFY_MGR ]());
5495
+ }
5496
+ }
5497
+ else {
5498
+ _cfgPerfManager = null;
5499
+ prevCfgPerfMgr = null;
5419
5500
  }
5420
5501
  }));
5421
5502
  }
@@ -5965,6 +6046,7 @@
5965
6046
  exports._InternalLogMessage = _InternalLogMessage;
5966
6047
  exports.__getRegisteredEvents = __getRegisteredEvents;
5967
6048
  exports._logInternalMessage = _logInternalMessage;
6049
+ exports._testHookMaxUnloadHooksCb = _testHookMaxUnloadHooksCb;
5968
6050
  exports._throwInternal = _throwInternal;
5969
6051
  exports._warnToConsole = _warnToConsole;
5970
6052
  exports.addEventHandler = addEventHandler;