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