@microsoft/1ds-core-js 4.0.6-nightly3.2312-05 → 4.0.7

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 (43) hide show
  1. package/bundle/es5/{ms.core-4.0.6-nightly3.2312-05.gbl.js → ms.core-4.0.7.gbl.js} +409 -328
  2. package/bundle/es5/ms.core-4.0.7.gbl.js.map +1 -0
  3. package/bundle/es5/ms.core-4.0.7.gbl.min.js +7 -0
  4. package/bundle/es5/ms.core-4.0.7.gbl.min.js.map +1 -0
  5. package/bundle/es5/ms.core-4.0.7.integrity.json +46 -0
  6. package/bundle/es5/{ms.core-4.0.6-nightly3.2312-05.js → ms.core-4.0.7.js} +409 -328
  7. package/bundle/es5/ms.core-4.0.7.js.map +1 -0
  8. package/bundle/es5/ms.core-4.0.7.min.js +7 -0
  9. package/bundle/es5/ms.core-4.0.7.min.js.map +1 -0
  10. package/bundle/es5/ms.core.gbl.js +408 -327
  11. package/bundle/es5/ms.core.gbl.js.map +1 -1
  12. package/bundle/es5/ms.core.gbl.min.js +2 -2
  13. package/bundle/es5/ms.core.gbl.min.js.map +1 -1
  14. package/bundle/es5/ms.core.integrity.json +17 -17
  15. package/bundle/es5/ms.core.js +408 -327
  16. package/bundle/es5/ms.core.js.map +1 -1
  17. package/bundle/es5/ms.core.min.js +2 -2
  18. package/bundle/es5/ms.core.min.js.map +1 -1
  19. package/dist/es5/ms.core.js +406 -325
  20. package/dist/es5/ms.core.js.map +1 -1
  21. package/dist/es5/ms.core.min.js +2 -2
  22. package/dist/es5/ms.core.min.js.map +1 -1
  23. package/dist-es5/AppInsightsCore.js +1 -1
  24. package/dist-es5/BaseCore.js +1 -1
  25. package/dist-es5/DataModels.js +1 -1
  26. package/dist-es5/Enums.js +1 -1
  27. package/dist-es5/Index.js +4 -2
  28. package/dist-es5/Index.js.map +1 -1
  29. package/dist-es5/InternalConstants.js +1 -1
  30. package/dist-es5/Utils.js +2 -2
  31. package/dist-es5/Utils.js.map +1 -1
  32. package/dist-es5/ValueSanitizer.js +1 -1
  33. package/dist-es5/__DynamicConstants.js +1 -1
  34. package/package.json +6 -6
  35. package/types/1ds-core-js.d.ts +182 -3
  36. package/types/1ds-core-js.namespaced.d.ts +4260 -573
  37. package/bundle/es5/ms.core-4.0.6-nightly3.2312-05.gbl.js.map +0 -1
  38. package/bundle/es5/ms.core-4.0.6-nightly3.2312-05.gbl.min.js +0 -7
  39. package/bundle/es5/ms.core-4.0.6-nightly3.2312-05.gbl.min.js.map +0 -1
  40. package/bundle/es5/ms.core-4.0.6-nightly3.2312-05.integrity.json +0 -46
  41. package/bundle/es5/ms.core-4.0.6-nightly3.2312-05.js.map +0 -1
  42. package/bundle/es5/ms.core-4.0.6-nightly3.2312-05.min.js +0 -7
  43. package/bundle/es5/ms.core-4.0.6-nightly3.2312-05.min.js.map +0 -1
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * 1DS JS SDK Core, 4.0.6-nightly3.2312-05
2
+ * 1DS JS SDK Core, 4.0.7
3
3
  * Copyright (c) Microsoft and contributors. All rights reserved.
4
4
  * (Microsoft Internal Only)
5
5
  */
@@ -19,23 +19,18 @@
19
19
  var UNDEF_VALUE = undefined;
20
20
  var NULL_VALUE = null;
21
21
  var EMPTY = "";
22
- var BOOLEAN = "boolean";
23
22
  var FUNCTION = "function";
24
- var NUMBER = "number";
25
23
  var OBJECT = "object";
26
24
  var PROTOTYPE = "prototype";
27
25
  var __PROTO__ = "__proto__";
28
- var STRING = "string";
29
26
  var UNDEFINED = "undefined";
30
27
  var CONSTRUCTOR = "constructor";
31
28
  var SYMBOL = "Symbol";
32
29
  var POLYFILL_TAG = "_polyfill";
33
- var INDEX_OF = "indexOf";
34
30
  var LENGTH = "length";
35
- var DONE = "done";
36
- var VALUE = "value";
37
31
  var NAME = "name";
38
- var SLICE = "slice";
32
+ var CALL = "call";
33
+ var TO_STRING = "toString";
39
34
  var ObjClass = Object;
40
35
  var ObjProto = ObjClass[PROTOTYPE];
41
36
  var StrCls = String;
@@ -43,52 +38,71 @@
43
38
  var MathCls = Math;
44
39
  var ArrCls = Array;
45
40
  var ArrProto = ArrCls[PROTOTYPE];
41
+ var ArrSlice = ArrProto["slice"];
46
42
 
47
- function safeGet(cb, defValue) {
48
- var result = defValue;
43
+ function safe(func, argArray) {
49
44
  try {
50
- result = cb();
45
+ return {
46
+ v: func.apply(this, argArray)
47
+ };
51
48
  }
52
49
  catch (e) {
50
+ return { e: e };
53
51
  }
54
- return result;
55
52
  }
56
53
 
57
- var PRIMITIVE_TYPES = [STRING, NUMBER, BOOLEAN, UNDEFINED, "symbol", "bigint"];
54
+ /*#__NO_SIDE_EFFECTS__*/
55
+ function safeGet(cb, defValue) {
56
+ var result = safe(cb);
57
+ return result.e ? defValue : result.v;
58
+ }
59
+
60
+ var _primitiveTypes;
61
+ /*#__NO_SIDE_EFFECTS__*/
58
62
  function _createIs(theType) {
59
63
  return function (value) {
60
64
  return typeof value === theType;
61
65
  };
62
66
  }
67
+ /*#__NO_SIDE_EFFECTS__*/
63
68
  function _createObjIs(theName) {
64
69
  var theType = "[object " + theName + "]";
65
70
  return function (value) {
66
71
  return !!(value && objToString(value) === theType);
67
72
  };
68
73
  }
74
+ /*#__NO_SIDE_EFFECTS__*/
69
75
  function objToString(value) {
70
76
  return ObjProto.toString.call(value);
71
77
  }
78
+ /*#__NO_SIDE_EFFECTS__*/
72
79
  function isTypeof(value, theType) {
73
80
  return typeof value === theType;
74
81
  }
82
+ /*#__NO_SIDE_EFFECTS__*/
75
83
  function isUndefined(value) {
76
84
  return typeof value === UNDEFINED || value === UNDEFINED;
77
85
  }
86
+ /*#__NO_SIDE_EFFECTS__*/
78
87
  function isNullOrUndefined(value) {
79
88
  return value === NULL_VALUE || isUndefined(value);
80
89
  }
90
+ /*#__NO_SIDE_EFFECTS__*/
81
91
  function isStrictNullOrUndefined(value) {
82
92
  return value === NULL_VALUE || !isDefined(value);
83
93
  }
94
+ /*#__NO_SIDE_EFFECTS__*/
84
95
  function isDefined(arg) {
85
96
  return !!arg || arg !== UNDEF_VALUE;
86
97
  }
87
- var isPrimitiveType = function (theType) {
88
- return theType !== OBJECT && PRIMITIVE_TYPES.indexOf(theType) !== -1;
89
- };
90
- var isString = _createIs(STRING);
91
- var isFunction = _createIs(FUNCTION);
98
+ /*#__NO_SIDE_EFFECTS__*/
99
+ function isPrimitiveType(theType) {
100
+ !_primitiveTypes && (_primitiveTypes = ["string", "number", "boolean", UNDEFINED, "symbol", "bigint"]);
101
+ return theType !== OBJECT && _primitiveTypes.indexOf(theType) !== -1;
102
+ }
103
+ var isString = ( /*#__PURE__*/_createIs("string"));
104
+ var isFunction = ( /*#__PURE__*/_createIs(FUNCTION));
105
+ /*#__NO_SIDE_EFFECTS__*/
92
106
  function isObject(value) {
93
107
  if (!value && isNullOrUndefined(value)) {
94
108
  return false;
@@ -96,27 +110,32 @@
96
110
  return !!value && typeof value === OBJECT;
97
111
  }
98
112
  var isArray = ArrCls.isArray;
99
- var isDate = _createObjIs("Date");
100
- var isNumber = _createIs(NUMBER);
101
- var isBoolean = _createIs(BOOLEAN);
102
- var isError = _createObjIs("Error");
113
+ var isDate = ( /*#__PURE__*/_createObjIs("Date"));
114
+ var isNumber = ( /*#__PURE__*/_createIs("number"));
115
+ var isBoolean = ( /*#__PURE__*/_createIs("boolean"));
116
+ var isError = ( /*#__PURE__*/_createObjIs("Error"));
117
+ /*#__NO_SIDE_EFFECTS__*/
103
118
  function isPromiseLike(value) {
104
- return !!value && isFunction(value.then);
119
+ return !!(value && value.then && isFunction(value.then));
105
120
  }
121
+ /*#__NO_SIDE_EFFECTS__*/
106
122
  function isNotTruthy(value) {
107
- return !value || !safeGet(function () { return (value && (0 + value)); }, value);
123
+ return !value || !isTruthy(value);
108
124
  }
125
+ /*#__NO_SIDE_EFFECTS__*/
109
126
  function isTruthy(value) {
110
127
  return !(!value || safeGet(function () { return !(value && (0 + value)); }, !value));
111
128
  }
112
129
 
113
130
  var objGetOwnPropertyDescriptor = ObjClass.getOwnPropertyDescriptor;
114
131
 
132
+ /*#__NO_SIDE_EFFECTS__*/
115
133
  function objHasOwnProperty(obj, prop) {
116
- return obj && ObjProto.hasOwnProperty.call(obj, prop);
134
+ return !!obj && ObjProto.hasOwnProperty[CALL](obj, prop);
117
135
  }
118
136
 
119
137
  var objHasOwn = ObjClass["hasOwn"] || polyObjHasOwn;
138
+ /*#__NO_SIDE_EFFECTS__*/
120
139
  function polyObjHasOwn(obj, prop) {
121
140
  return objHasOwnProperty(obj, prop) || !!objGetOwnPropertyDescriptor(obj, prop);
122
141
  }
@@ -125,7 +144,7 @@
125
144
  if (theObject && isObject(theObject)) {
126
145
  for (var prop in theObject) {
127
146
  if (objHasOwn(theObject, prop)) {
128
- if (callbackfn.call(thisArg || theObject, prop, theObject[prop]) === -1) {
147
+ if (callbackfn[CALL](thisArg || theObject, prop, theObject[prop]) === -1) {
129
148
  break;
130
149
  }
131
150
  }
@@ -133,6 +152,7 @@
133
152
  }
134
153
  }
135
154
 
155
+ /*#__NO_SIDE_EFFECTS__*/
136
156
  function _createKeyValueMap(values, keyType, valueType, completeFn) {
137
157
  var theMap = {};
138
158
  objForEachKey(values, function (key, value) {
@@ -150,15 +170,15 @@
150
170
  }
151
171
 
152
172
  var _objFreeze = ObjClass["freeze"];
153
- var _doNothing = function (value) { return value; };
154
- var _getProto = function (value) { return value[__PROTO__] || NULL_VALUE; };
155
- var objAssign = ObjClass["assign"];
156
- function objKeys(value) {
157
- if (!isObject(value) || value === NULL_VALUE) {
158
- throwTypeError("objKeys called on non-object");
159
- }
160
- return ObjClass.keys(value);
173
+ function _doNothing(value) {
174
+ return value;
161
175
  }
176
+ /*#__NO_SIDE_EFFECTS__*/
177
+ function _getProto(value) {
178
+ return value[__PROTO__] || NULL_VALUE;
179
+ }
180
+ var objAssign = ObjClass["assign"];
181
+ var objKeys = ObjClass.keys;
162
182
  function objDeepFreeze(value) {
163
183
  if (_objFreeze) {
164
184
  objForEachKey(value, function (key, value) {
@@ -173,14 +193,16 @@
173
193
  var objSeal = ObjClass["seal"] || _doNothing;
174
194
  var objGetPrototypeOf = ObjClass["getPrototypeOf"] || _getProto;
175
195
 
196
+ /*#__NO_SIDE_EFFECTS__*/
176
197
  function createEnum(values) {
177
198
  return _createKeyValueMap(values, 1 , 0 , objDeepFreeze);
178
199
  }
200
+ /*#__NO_SIDE_EFFECTS__*/
179
201
  function createEnumKeyMap(values) {
180
202
  return _createKeyValueMap(values, 0 , 0 , objDeepFreeze);
181
203
  }
182
204
 
183
- var _wellKnownSymbolMap = createEnumKeyMap({
205
+ var _wellKnownSymbolMap = /*#__PURE__*/ createEnumKeyMap({
184
206
  asyncIterator: 0 ,
185
207
  hasInstance: 1 ,
186
208
  isConcatSpreadable: 2 ,
@@ -200,6 +222,7 @@
200
222
 
201
223
  var GLOBAL_CONFIG_KEY = "__tsUtils$gblCfg";
202
224
  var _globalCfg;
225
+ /*#__NO_SIDE_EFFECTS__*/
203
226
  function _getGlobalValue() {
204
227
  var result;
205
228
  if (typeof globalThis !== UNDEFINED) {
@@ -216,60 +239,47 @@
216
239
  }
217
240
  return result;
218
241
  }
242
+ /*#__NO_SIDE_EFFECTS__*/
219
243
  function _getGlobalConfig() {
220
244
  if (!_globalCfg) {
221
- var gbl = _getGlobalValue() || {};
245
+ var gbl = safe(_getGlobalValue).v || {};
222
246
  _globalCfg = gbl[GLOBAL_CONFIG_KEY] = gbl[GLOBAL_CONFIG_KEY] || {};
223
247
  }
224
248
  return _globalCfg;
225
249
  }
226
250
 
251
+ var ERROR_TYPE = "[object Error]";
252
+ /*#__NO_SIDE_EFFECTS__*/
227
253
  function dumpObj(object, format) {
228
254
  var propertyValueDump = EMPTY;
229
- if (isError(object)) {
230
- propertyValueDump = "{ stack: '" + object.stack + "', message: '" + object.message + "', name: '" + object.name + "'";
255
+ var objType = ObjProto[TO_STRING][CALL](object);
256
+ if (objType === ERROR_TYPE) {
257
+ object = { stack: asString(object.stack), message: asString(object.message), name: asString(object.name) };
231
258
  }
232
- else {
233
- try {
234
- propertyValueDump = JSON.stringify(object, NULL_VALUE, format ? (isNumber(format) ? format : 4) : UNDEF_VALUE);
235
- }
236
- catch (e) {
237
- propertyValueDump = " - " + dumpObj(e, format);
238
- }
259
+ try {
260
+ propertyValueDump = JSON.stringify(object, NULL_VALUE, format ? ((typeof format === "number") ? format : 4) : UNDEF_VALUE);
261
+ propertyValueDump = (propertyValueDump && propertyValueDump.replace(/"(\w+)"\s*:\s{0,1}/g, "$1: ")) || asString(object);
262
+ }
263
+ catch (e) {
264
+ propertyValueDump = " - " + dumpObj(e, format);
239
265
  }
240
- return objToString(object) + ": " + propertyValueDump;
266
+ return objType + ": " + propertyValueDump;
241
267
  }
242
268
 
243
- var _arrSlice = ArrProto[SLICE];
244
- var _throwMissingFunction = function (funcName, thisArg) {
245
- throwTypeError("'" + asString(funcName) + "' not defined for " + dumpObj(thisArg));
246
- };
247
- var _unwrapInstFunction = function (funcName) {
248
- return function (thisArg) {
249
- return thisArg[funcName].apply(thisArg, _arrSlice.call(arguments, 1));
250
- };
251
- };
252
- var _unwrapFunction = function (funcName, clsProto) {
253
- var clsFn = clsProto && clsProto[funcName];
254
- return function (thisArg) {
255
- var theFunc = (thisArg && thisArg[funcName]) || clsFn;
256
- if (theFunc) {
257
- return theFunc.apply(thisArg, _arrSlice.call(arguments, 1));
258
- }
259
- _throwMissingFunction(funcName, thisArg);
260
- };
261
- };
262
- var _unwrapFunctionWithPoly = function (funcName, clsProto, polyFunc) {
269
+ var _unwrapFunction = _unwrapFunctionWithPoly;
270
+ /*#__NO_SIDE_EFFECTS__*/
271
+ function _unwrapFunctionWithPoly(funcName, clsProto, polyFunc) {
263
272
  var clsFn = clsProto && clsProto[funcName];
264
273
  return function (thisArg) {
265
274
  var theFunc = (thisArg && thisArg[funcName]) || clsFn;
266
275
  if (theFunc || polyFunc) {
267
276
  var theArgs = arguments;
268
- return (theFunc || polyFunc).apply(thisArg, theFunc ? _arrSlice.call(theArgs, 1) : theArgs);
277
+ return (theFunc || polyFunc).apply(thisArg, theFunc ? ArrSlice[CALL](theArgs, 1) : theArgs);
269
278
  }
270
- _throwMissingFunction(funcName, thisArg);
279
+ throwTypeError("\"" + asString(funcName) + "\" not defined for " + dumpObj(thisArg));
271
280
  };
272
- };
281
+ }
282
+ /*#__NO_SIDE_EFFECTS__*/
273
283
  function _unwrapProp(propName) {
274
284
  return function (thisArg) {
275
285
  return thisArg[propName];
@@ -278,10 +288,11 @@
278
288
 
279
289
  var mathMax = MathCls.max;
280
290
 
281
- var strSlice = _unwrapFunction(SLICE, StrProto);
291
+ var strSlice = ( /*#__PURE__*/_unwrapFunction("slice", StrProto));
282
292
 
283
- var strSubstring = _unwrapFunction("substring", StrProto);
284
- var strSubstr = _unwrapFunctionWithPoly("substr", StrProto, polyStrSubstr);
293
+ var strSubstring = ( /*#__PURE__*/_unwrapFunction("substring", StrProto));
294
+ var strSubstr = ( /*#__PURE__*/_unwrapFunctionWithPoly("substr", StrProto, polyStrSubstr));
295
+ /*#__NO_SIDE_EFFECTS__*/
285
296
  function polyStrSubstr(value, start, length) {
286
297
  if (isNullOrUndefined(value)) {
287
298
  throwTypeError("'polyStrSubstr called with invalid " + dumpObj(value));
@@ -298,23 +309,14 @@
298
309
  }
299
310
  return strSlice(value, start, start + length);
300
311
  }
312
+ /*#__NO_SIDE_EFFECTS__*/
301
313
  function strLeft(value, count) {
302
314
  return strSubstring(value, 0, count);
303
315
  }
304
316
 
305
- var strStartsWith = _unwrapFunctionWithPoly("startsWith", StrProto, polyStrStartsWith);
306
- function polyStrStartsWith(value, searchString, position) {
307
- if (!isString(value)) {
308
- throwTypeError("'" + dumpObj(value) + "' is not a string");
309
- }
310
- var searchValue = isString(searchString) ? searchString : asString(searchString);
311
- var chkLen = searchValue[LENGTH];
312
- var pos = position > 0 ? position : 0;
313
- return strSubstring(value, pos, pos + chkLen) === searchValue;
314
- }
315
-
316
317
  var UNIQUE_REGISTRY_ID = "_urid";
317
318
  var _polySymbols;
319
+ /*#__NO_SIDE_EFFECTS__*/
318
320
  function _globalSymbolRegistry() {
319
321
  if (!_polySymbols) {
320
322
  var gblCfg = _getGlobalConfig();
@@ -322,7 +324,8 @@
322
324
  }
323
325
  return _polySymbols;
324
326
  }
325
- var _wellKnownSymbolCache = {};
327
+ var _wellKnownSymbolCache;
328
+ /*#__NO_SIDE_EFFECTS__*/
326
329
  function polyNewSymbol(description) {
327
330
  var theSymbol = {
328
331
  description: asString(description),
@@ -331,18 +334,21 @@
331
334
  theSymbol[POLYFILL_TAG] = true;
332
335
  return theSymbol;
333
336
  }
337
+ /*#__NO_SIDE_EFFECTS__*/
334
338
  function polySymbolFor(key) {
335
339
  var registry = _globalSymbolRegistry();
336
340
  if (!objHasOwn(registry.k, key)) {
337
341
  var newSymbol_1 = polyNewSymbol(key);
338
342
  var regId_1 = objKeys(registry.s).length;
339
- newSymbol_1[UNIQUE_REGISTRY_ID] = function () { return regId_1 + "_" + newSymbol_1.toString(); };
343
+ newSymbol_1[UNIQUE_REGISTRY_ID] = function () { return regId_1 + "_" + newSymbol_1[TO_STRING](); };
340
344
  registry.k[key] = newSymbol_1;
341
345
  registry.s[newSymbol_1[UNIQUE_REGISTRY_ID]()] = asString(key);
342
346
  }
343
347
  return registry.k[key];
344
348
  }
349
+ /*#__NO_SIDE_EFFECTS__*/
345
350
  function polyGetKnownSymbol(name) {
351
+ !_wellKnownSymbolCache && (_wellKnownSymbolCache = {});
346
352
  var result;
347
353
  var knownName = _wellKnownSymbolMap[name];
348
354
  if (knownName) {
@@ -354,11 +360,12 @@
354
360
  var propMap = {
355
361
  e: "enumerable",
356
362
  c: "configurable",
357
- v: VALUE,
363
+ v: "value",
358
364
  w: "writable",
359
365
  g: "get",
360
366
  s: "set"
361
367
  };
368
+ /*#__NO_SIDE_EFFECTS__*/
362
369
  function _createProp(value) {
363
370
  var prop = {};
364
371
  prop[propMap["c"]] = true;
@@ -396,13 +403,13 @@
396
403
  }
397
404
 
398
405
  var _globalLazyTestHooks;
399
- var _fetchLazyTestHooks = function () {
406
+ function _initTestHooks() {
400
407
  _globalLazyTestHooks = _getGlobalConfig();
401
- _fetchLazyTestHooks = NULL_VALUE;
402
- };
408
+ }
409
+ /*#__NO_SIDE_EFFECTS__*/
403
410
  function getLazy(cb) {
404
411
  var lazyValue = {};
405
- _fetchLazyTestHooks && _fetchLazyTestHooks();
412
+ !_globalLazyTestHooks && _initTestHooks();
406
413
  lazyValue.b = _globalLazyTestHooks.lzy;
407
414
  objDefineProp(lazyValue, "v", {
408
415
  configurable: true,
@@ -412,105 +419,127 @@
412
419
  objDefineProp(lazyValue, "v", {
413
420
  value: result
414
421
  });
415
- if (lazyValue.b) {
416
- delete lazyValue.b;
417
- }
418
- }
419
- if (_globalLazyTestHooks.lzy && lazyValue.b !== _globalLazyTestHooks.lzy) {
420
- lazyValue.b = _globalLazyTestHooks.lzy;
421
422
  }
423
+ lazyValue.b = _globalLazyTestHooks.lzy;
422
424
  return result;
423
425
  }
424
426
  });
425
427
  return lazyValue;
426
428
  }
427
429
 
430
+ /*#__NO_SIDE_EFFECTS__*/
428
431
  function safeGetLazy(cb, defValue) {
429
- return getLazy(function () { return safeGet(cb, defValue); });
432
+ return getLazy(function () {
433
+ var result = safe(cb);
434
+ return result.e ? defValue : result.v;
435
+ });
436
+ }
437
+
438
+ /*#__NO_SIDE_EFFECTS__*/
439
+ function createCachedValue(value) {
440
+ return objDefineProp({
441
+ toJSON: function () { return value; }
442
+ }, "v", { value: value });
430
443
  }
431
444
 
432
445
  var WINDOW = "window";
433
446
  var _cachedGlobal;
434
- var _cachedWindow;
435
- var _cachedDocument;
436
- var _cachedNavigator;
437
- var _cachedHistory;
438
- var _isNode;
439
- var lazySafeGetInst = function (name) { return safeGetLazy(function () { return getInst(name) || UNDEF_VALUE; }, UNDEF_VALUE); };
440
- var getGlobal = function (useCached) {
441
- (!_cachedGlobal || useCached === false || (_globalLazyTestHooks && _globalLazyTestHooks.lzy && !_cachedGlobal.b)) && (_cachedGlobal = safeGetLazy(_getGlobalValue, NULL_VALUE));
447
+ function _getGlobalInstFn(getFn, theArgs) {
448
+ var cachedValue;
449
+ return function () {
450
+ !_globalLazyTestHooks && _initTestHooks();
451
+ (!cachedValue || _globalLazyTestHooks.lzy) && (cachedValue = createCachedValue(safe(getFn, theArgs).v));
452
+ return cachedValue.v;
453
+ };
454
+ }
455
+ /*#__NO_SIDE_EFFECTS__*/
456
+ function lazySafeGetInst(name) {
457
+ return getLazy(function () { return safe((getInst), [name]).v || UNDEF_VALUE; });
458
+ }
459
+ /*#__NO_SIDE_EFFECTS__*/
460
+ function getGlobal(useCached) {
461
+ !_globalLazyTestHooks && _initTestHooks();
462
+ (!_cachedGlobal || useCached === false || _globalLazyTestHooks.lzy) && (_cachedGlobal = createCachedValue(safe(_getGlobalValue).v || NULL_VALUE));
442
463
  return _cachedGlobal.v;
443
- };
444
- var getInst = function (name, useCached) {
464
+ }
465
+ /*#__NO_SIDE_EFFECTS__*/
466
+ function getInst(name, useCached) {
445
467
  var gbl = (!_cachedGlobal || useCached === false) ? getGlobal(useCached) : _cachedGlobal.v;
446
468
  if (gbl && gbl[name]) {
447
469
  return gbl[name];
448
470
  }
449
- if (name === WINDOW && _cachedWindow) {
450
- return _cachedWindow.v;
471
+ if (name === WINDOW) {
472
+ return getWindow();
451
473
  }
452
474
  return NULL_VALUE;
453
- };
454
- var hasDocument = function () { return !!getDocument(); };
455
- var getDocument = function () {
456
- (!_cachedDocument || (_globalLazyTestHooks && _globalLazyTestHooks.lzy && !_cachedDocument.b)) && (_cachedDocument = lazySafeGetInst("document"));
457
- return _cachedDocument.v;
458
- };
459
- var hasWindow = function () { return !!getWindow(); };
460
- var getWindow = function () {
461
- (!_cachedWindow || (_globalLazyTestHooks && _globalLazyTestHooks.lzy && !_cachedWindow.b)) && (_cachedWindow = lazySafeGetInst(WINDOW));
462
- return _cachedWindow.v;
463
- };
464
- var hasNavigator = function () { return !!getNavigator(); };
465
- var getNavigator = function () {
466
- (!_cachedNavigator || (_globalLazyTestHooks && _globalLazyTestHooks.lzy && !_cachedNavigator.b)) && (_cachedNavigator = lazySafeGetInst("navigator"));
467
- return _cachedNavigator.v;
468
- };
469
- var hasHistory = function () { return !!getHistory(); };
470
- var getHistory = function () {
471
- (!_cachedHistory || (_globalLazyTestHooks && _globalLazyTestHooks.lzy && !_cachedHistory.b)) && (_cachedHistory = lazySafeGetInst("history"));
472
- return _cachedHistory.v;
473
- };
474
- var isNode = function () {
475
- !_isNode && (_isNode = safeGetLazy(function () { return !!(process && (process.versions || {}).node); }, false));
476
- return _isNode.v;
477
- };
475
+ }
476
+ /*#__NO_SIDE_EFFECTS__*/
477
+ function hasDocument() {
478
+ return !!getDocument();
479
+ }
480
+ var getDocument = ( /*#__PURE__*/_getGlobalInstFn(getInst, ["document"]));
481
+ /*#__NO_SIDE_EFFECTS__*/
482
+ function hasWindow() {
483
+ return !!getWindow();
484
+ }
485
+ var getWindow = ( /*#__PURE__*/_getGlobalInstFn(getInst, [WINDOW]));
486
+ /*#__NO_SIDE_EFFECTS__*/
487
+ function hasNavigator() {
488
+ return !!getNavigator();
489
+ }
490
+ var getNavigator = ( /*#__PURE__*/_getGlobalInstFn(getInst, ["navigator"]));
491
+ /*#__NO_SIDE_EFFECTS__*/
492
+ function hasHistory() {
493
+ return !!getHistory();
494
+ }
495
+ var getHistory = ( /*#__PURE__*/_getGlobalInstFn(getInst, ["history"]));
496
+ var isNode = ( /*#__PURE__*/_getGlobalInstFn(function () {
497
+ return !!safe(function () { return (process && (process.versions || {}).node); }).v;
498
+ }));
478
499
 
479
500
  var _symbol;
480
501
  var _symbolFor;
481
- var _symbolKeyFor;
482
- function _getSymbolValue(name) {
483
- return safeGetLazy(function () {
484
- return (_symbol.v ? _symbol.v[name] : UNDEF_VALUE);
485
- }, UNDEF_VALUE);
502
+ function _initSymbol() {
503
+ if (!_symbol || !_symbol.b) {
504
+ _symbol = lazySafeGetInst(SYMBOL);
505
+ _symbolFor = safeGetLazy(function () { return (_symbol.v ? _symbol.v["for"] : UNDEF_VALUE); }, UNDEF_VALUE);
506
+ }
486
507
  }
508
+ /*#__NO_SIDE_EFFECTS__*/
487
509
  function hasSymbol() {
488
510
  return !!getSymbol();
489
511
  }
512
+ /*#__NO_SIDE_EFFECTS__*/
490
513
  function getSymbol() {
491
- var resetCache = !_symbol || (_globalLazyTestHooks && _globalLazyTestHooks.lzy && !_symbol.b);
492
- resetCache && (_symbol = lazySafeGetInst(SYMBOL));
493
- (!_symbolFor || resetCache) && (_symbolFor = _getSymbolValue("for"));
494
- (!_symbolKeyFor || resetCache) && (_symbolKeyFor = _getSymbolValue("keyFor"));
514
+ !_globalLazyTestHooks && _initTestHooks();
515
+ (!_symbol || _globalLazyTestHooks.lzy) && _initSymbol();
495
516
  return _symbol.v;
496
517
  }
518
+ /*#__NO_SIDE_EFFECTS__*/
497
519
  function getKnownSymbol(name, noPoly) {
498
520
  var knownName = _wellKnownSymbolMap[name];
499
- (!_symbol || (_globalLazyTestHooks.lzy && !_symbol.b)) && getSymbol();
521
+ !_globalLazyTestHooks && _initTestHooks();
522
+ (!_symbol || _globalLazyTestHooks.lzy) && _initSymbol();
500
523
  return _symbol.v ? _symbol.v[knownName || name] : (!noPoly ? polyGetKnownSymbol(name) : UNDEF_VALUE);
501
524
  }
525
+ /*#__NO_SIDE_EFFECTS__*/
502
526
  function newSymbol(description, noPoly) {
503
- (!_symbol || (_globalLazyTestHooks.lzy && !_symbol.b)) && getSymbol();
527
+ !_globalLazyTestHooks && _initTestHooks();
528
+ (!_symbol || _globalLazyTestHooks.lzy) && _initSymbol();
504
529
  return _symbol.v ? _symbol.v(description) : (!noPoly ? polyNewSymbol(description) : NULL_VALUE);
505
530
  }
531
+ /*#__NO_SIDE_EFFECTS__*/
506
532
  function symbolFor(key) {
507
- (!_symbolFor || (_globalLazyTestHooks.lzy && !_symbol.b)) && getSymbol();
533
+ !_globalLazyTestHooks && _initTestHooks();
534
+ (!_symbolFor || !_symbol || _globalLazyTestHooks.lzy) && _initSymbol();
508
535
  return (_symbolFor.v || polySymbolFor)(key);
509
536
  }
510
537
 
538
+ /*#__NO_SIDE_EFFECTS__*/
511
539
  function isIterator(value) {
512
540
  return !!value && isFunction(value.next);
513
541
  }
542
+ /*#__NO_SIDE_EFFECTS__*/
514
543
  function isIterable(value) {
515
544
  return !isStrictNullOrUndefined(value) && isFunction(value[getKnownSymbol(3 )]);
516
545
  }
@@ -519,7 +548,7 @@
519
548
  function iterForOf(iter, callbackfn, thisArg) {
520
549
  if (iter) {
521
550
  if (!isIterator(iter)) {
522
- !_iterSymbol && (_iterSymbol = getLazy(function () { return getKnownSymbol(3 ); }));
551
+ !_iterSymbol && (_iterSymbol = createCachedValue(getKnownSymbol(3 )));
523
552
  iter = iter[_iterSymbol.v] ? iter[_iterSymbol.v]() : null;
524
553
  }
525
554
  if (isIterator(iter)) {
@@ -527,8 +556,8 @@
527
556
  var iterResult = void 0;
528
557
  try {
529
558
  var count = 0;
530
- while (!(iterResult = iter.next())[DONE]) {
531
- if (callbackfn.call(thisArg || iter, iterResult[VALUE], count, iter) === -1) {
559
+ while (!(iterResult = iter.next()).done) {
560
+ if (callbackfn[CALL](thisArg || iter, iterResult.value, count, iter) === -1) {
532
561
  break;
533
562
  }
534
563
  count++;
@@ -543,7 +572,7 @@
543
572
  }
544
573
  finally {
545
574
  try {
546
- if (iterResult && !iterResult[DONE]) {
575
+ if (iterResult && !iterResult.done) {
547
576
  iter.return && iter.return(iterResult);
548
577
  }
549
578
  }
@@ -557,7 +586,9 @@
557
586
  }
558
587
  }
559
588
 
560
- var fnApply = _unwrapInstFunction("apply");
589
+ function fnApply(fn, thisArg, argArray) {
590
+ return fn.apply(thisArg, argArray);
591
+ }
561
592
 
562
593
  function arrAppend(target, elms) {
563
594
  if (!isUndefined(elms) && target) {
@@ -581,7 +612,7 @@
581
612
  var len = theArray[LENGTH] >>> 0;
582
613
  for (var idx = 0; idx < len; idx++) {
583
614
  if (idx in theArray) {
584
- if (callbackfn.call(thisArg || theArray, theArray[idx], idx, theArray) === -1) {
615
+ if (callbackfn[CALL](thisArg || theArray, theArray[idx], idx, theArray) === -1) {
585
616
  break;
586
617
  }
587
618
  }
@@ -589,31 +620,32 @@
589
620
  }
590
621
  }
591
622
 
592
- var arrIndexOf = _unwrapFunction(INDEX_OF, ArrProto);
623
+ var arrIndexOf = ( /*#__PURE__*/_unwrapFunction("indexOf", ArrProto));
593
624
 
594
- var arrMap = _unwrapFunction("map", ArrProto);
625
+ var arrMap = ( /*#__PURE__*/_unwrapFunction("map", ArrProto));
595
626
 
596
- var arrSlice = _unwrapFunction(SLICE, ArrProto);
597
-
598
- var fnCall = _unwrapInstFunction("call");
627
+ function arrSlice(theArray, start, end) {
628
+ return ((theArray && theArray["slice"]) || ArrSlice).apply(theArray, ArrSlice[CALL](arguments, 1));
629
+ }
599
630
 
631
+ /*#__NO_SIDE_EFFECTS__*/
600
632
  function polyArrIncludes(theArray, searchElement, fromIndex) {
601
633
  return arrIndexOf(theArray, searchElement, fromIndex) !== -1;
602
634
  }
603
635
 
604
- var arrIncludes = _unwrapFunctionWithPoly("includes", ArrProto, polyArrIncludes);
636
+ var arrIncludes = ( /*#__PURE__*/_unwrapFunctionWithPoly("includes", ArrProto, polyArrIncludes));
605
637
 
606
- var arrReduce = _unwrapFunction("reduce", ArrProto);
638
+ var arrReduce = ( /*#__PURE__*/_unwrapFunction("reduce", ArrProto));
607
639
 
608
- var _objCreate = ObjClass["create"];
609
- var objCreate = _objCreate || polyObjCreate;
640
+ var objCreate = ObjClass["create"] || polyObjCreate;
641
+ /*#__NO_SIDE_EFFECTS__*/
610
642
  function polyObjCreate(obj) {
611
643
  if (!obj) {
612
644
  return {};
613
645
  }
614
646
  var type = typeof obj;
615
647
  if (type !== OBJECT && type !== FUNCTION) {
616
- throw new TypeError("Prototype must be an Object or function: " + dumpObj(obj));
648
+ throwTypeError("Prototype must be an Object or function: " + dumpObj(obj));
617
649
  }
618
650
  function tempFunc() { }
619
651
  tempFunc[PROTOTYPE] = obj;
@@ -633,39 +665,31 @@
633
665
  return fn(obj, proto);
634
666
  }
635
667
 
636
- var _createCustomError = function (name, d, b) {
637
- _safeDefineName(d, name);
668
+ /*#__NO_SIDE_EFFECTS__*/
669
+ function _createCustomError(name, d, b) {
670
+ safe(objDefine, [d, NAME, { v: name, c: true, e: false }]);
638
671
  d = objSetPrototypeOf(d, b);
639
672
  function __() {
640
673
  this.constructor = d;
641
- _safeDefineName(this, name);
674
+ safe(objDefine, [this, NAME, { v: name, c: true, e: false }]);
642
675
  }
643
676
  d[PROTOTYPE] = b === NULL_VALUE ? objCreate(b) : (__[PROTOTYPE] = b[PROTOTYPE], new __());
644
677
  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
- };
678
+ }
679
+ function _setName(baseClass, name) {
680
+ name && (baseClass[NAME] = name);
681
+ }
682
+ /*#__NO_SIDE_EFFECTS__*/
660
683
  function createCustomError(name, constructCb, errorBase) {
661
684
  var theBaseClass = errorBase || Error;
662
685
  var orgName = theBaseClass[PROTOTYPE][NAME];
663
686
  var captureFn = Error.captureStackTrace;
664
687
  return _createCustomError(name, function () {
665
688
  var _this = this;
689
+ var theArgs = arguments;
666
690
  try {
667
- _safeSetName(theBaseClass, name);
668
- var _self = fnApply(theBaseClass, _this, arrSlice(arguments)) || _this;
691
+ safe(_setName, [theBaseClass, name]);
692
+ var _self = fnApply(theBaseClass, _this, ArrSlice[CALL](theArgs)) || _this;
669
693
  if (_self !== _this) {
670
694
  var orgProto = objGetPrototypeOf(_this);
671
695
  if (orgProto !== objGetPrototypeOf(_self)) {
@@ -673,22 +697,25 @@
673
697
  }
674
698
  }
675
699
  captureFn && captureFn(_self, _this[CONSTRUCTOR]);
676
- constructCb && constructCb(_self, arguments);
700
+ constructCb && constructCb(_self, theArgs);
677
701
  return _self;
678
702
  }
679
703
  finally {
680
- _safeSetName(theBaseClass, orgName);
704
+ safe(_setName, [theBaseClass, orgName]);
681
705
  }
682
706
  }, theBaseClass);
683
707
  }
684
708
 
709
+ /*#__NO_SIDE_EFFECTS__*/
685
710
  function utcNow() {
686
711
  return (Date.now || polyUtcNow)();
687
712
  }
713
+ /*#__NO_SIDE_EFFECTS__*/
688
714
  function polyUtcNow() {
689
715
  return new Date().getTime();
690
716
  }
691
717
 
718
+ /*#__NO_SIDE_EFFECTS__*/
692
719
  function _createTrimFn(exp) {
693
720
  return function _doTrim(value) {
694
721
  if (isNullOrUndefined(value)) {
@@ -700,13 +727,14 @@
700
727
  return value;
701
728
  };
702
729
  }
703
- var polyStrTrim = _createTrimFn(/^\s+|(?=\s)\s+$/g);
730
+ var polyStrTrim = ( /*#__PURE__*/_createTrimFn(/^\s+|(?=\s)\s+$/g));
704
731
 
705
- var strTrim = _unwrapFunctionWithPoly("trim", StrProto, polyStrTrim);
732
+ var strTrim = ( /*#__PURE__*/_unwrapFunctionWithPoly("trim", StrProto, polyStrTrim));
706
733
 
707
734
  var _fnToString;
708
735
  var _objCtrFnString;
709
736
  var _gblWindow;
737
+ /*#__NO_SIDE_EFFECTS__*/
710
738
  function isPlainObject(value) {
711
739
  if (!value || typeof value !== OBJECT) {
712
740
  return false;
@@ -717,8 +745,8 @@
717
745
  var result = false;
718
746
  if (value !== _gblWindow) {
719
747
  if (!_objCtrFnString) {
720
- _fnToString = Function[PROTOTYPE].toString;
721
- _objCtrFnString = fnCall(_fnToString, ObjClass);
748
+ _fnToString = Function[PROTOTYPE][TO_STRING];
749
+ _objCtrFnString = _fnToString[CALL](ObjClass);
722
750
  }
723
751
  try {
724
752
  var proto = objGetPrototypeOf(value);
@@ -727,7 +755,7 @@
727
755
  if (objHasOwnProperty(proto, CONSTRUCTOR)) {
728
756
  proto = proto[CONSTRUCTOR];
729
757
  }
730
- result = proto && typeof proto === FUNCTION && _fnToString.call(proto) === _objCtrFnString;
758
+ result = proto && typeof proto === FUNCTION && _fnToString[CALL](proto) === _objCtrFnString;
731
759
  }
732
760
  }
733
761
  catch (ex) {
@@ -736,16 +764,18 @@
736
764
  return result;
737
765
  }
738
766
 
739
- var _defaultDeepCopyHandler = function (details) {
767
+ /*#__NO_SIDE_EFFECTS__*/
768
+ function _defaultDeepCopyHandler(details) {
740
769
  details.value && plainObjDeepCopyHandler(details);
741
770
  return true;
742
- };
771
+ }
743
772
  var defaultDeepCopyHandlers = [
744
773
  arrayDeepCopyHandler,
745
774
  plainObjDeepCopyHandler,
746
775
  functionDeepCopyHandler,
747
776
  dateDeepCopyHandler
748
777
  ];
778
+ /*#__NO_SIDE_EFFECTS__*/
749
779
  function _getSetVisited(visitMap, source, newPath, cb) {
750
780
  var theEntry;
751
781
  arrForEach(visitMap, function (entry) {
@@ -805,12 +835,12 @@
805
835
  });
806
836
  var idx = 0;
807
837
  var handler = userHandler;
808
- while (!fnCall(handler || (idx < defaultDeepCopyHandlers.length ? defaultDeepCopyHandlers[idx++] : _defaultDeepCopyHandler), ctx, details)) {
838
+ while (!(handler || (idx < defaultDeepCopyHandlers.length ? defaultDeepCopyHandlers[idx++] : _defaultDeepCopyHandler))[CALL](ctx, details)) {
809
839
  handler = NULL_VALUE;
810
840
  }
811
841
  });
812
842
  }
813
- if (userHandler && fnCall(userHandler, ctx, details)) {
843
+ if (userHandler && userHandler[CALL](ctx, details)) {
814
844
  return details.result;
815
845
  }
816
846
  return value;
@@ -831,6 +861,7 @@
831
861
  };
832
862
  return _copyProps([], target, source, ctx);
833
863
  }
864
+ /*#__NO_SIDE_EFFECTS__*/
834
865
  function objDeepCopy(source, handler) {
835
866
  var ctx = {
836
867
  handler: handler,
@@ -879,16 +910,19 @@
879
910
  return target;
880
911
  }
881
912
  function deepExtend(target, obj1, obj2, obj3, obj4, obj5, obj6) {
882
- return _doExtend(objDeepCopy(target) || {}, arrSlice(arguments));
913
+ return _doExtend(objDeepCopy(target) || {}, ArrSlice[CALL](arguments));
883
914
  }
884
915
 
885
- var getLength = _unwrapProp(LENGTH);
916
+ var getLength = ( /*#__PURE__*/_unwrapProp(LENGTH));
886
917
 
887
918
  var _perf;
919
+ /*#__NO_SIDE_EFFECTS__*/
888
920
  function getPerformance() {
889
- (!_perf || (!_perf.b && _globalLazyTestHooks && _globalLazyTestHooks.lzy)) && (_perf = lazySafeGetInst("performance"));
921
+ !_globalLazyTestHooks && _initTestHooks();
922
+ (!_perf || (!_perf.b && _globalLazyTestHooks.lzy)) && (_perf = lazySafeGetInst("performance"));
890
923
  return _perf.v;
891
924
  }
925
+ /*#__NO_SIDE_EFFECTS__*/
892
926
  function perfNow() {
893
927
  var perf = getPerformance();
894
928
  if (perf && perf.now) {
@@ -897,70 +931,76 @@
897
931
  return utcNow();
898
932
  }
899
933
 
900
- var strEndsWith = _unwrapFunctionWithPoly("endsWith", StrProto, polyStrEndsWith);
934
+ var strEndsWith = ( /*#__PURE__*/_unwrapFunctionWithPoly("endsWith", StrProto, polyStrEndsWith));
935
+ /*#__NO_SIDE_EFFECTS__*/
901
936
  function polyStrEndsWith(value, searchString, length) {
902
937
  if (!isString(value)) {
903
938
  throwTypeError("'" + dumpObj(value) + "' is not a string");
904
939
  }
905
940
  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;
941
+ var end = !isUndefined(length) && length < value[LENGTH] ? length : value[LENGTH];
942
+ return strSubstring(value, end - searchValue[LENGTH], end) === searchValue;
910
943
  }
911
944
 
912
- var strIndexOf = _unwrapFunction(INDEX_OF, StrProto);
945
+ var strIndexOf = ( /*#__PURE__*/_unwrapFunction("indexOf", StrProto));
946
+
947
+ var strStartsWith = ( /*#__PURE__*/_unwrapFunctionWithPoly("startsWith", StrProto, polyStrStartsWith));
948
+ /*#__NO_SIDE_EFFECTS__*/
949
+ function polyStrStartsWith(value, searchString, position) {
950
+ if (!isString(value)) {
951
+ throwTypeError("'" + dumpObj(value) + "' is not a string");
952
+ }
953
+ var searchValue = isString(searchString) ? searchString : asString(searchString);
954
+ var pos = position > 0 ? position : 0;
955
+ return strSubstring(value, pos, pos + searchValue[LENGTH]) === searchValue;
956
+ }
913
957
 
914
958
  var REF = "ref";
915
- var UNREF = "un" + REF;
959
+ var UNREF = "unref";
916
960
  var HAS_REF = "hasRef";
917
961
  var ENABLED = "enabled";
962
+ /*#__NO_SIDE_EFFECTS__*/
918
963
  function _createTimerHandler(startTimer, refreshFn, cancelFn) {
919
- var _a;
920
964
  var ref = true;
921
965
  var timerId = startTimer ? refreshFn(NULL_VALUE) : NULL_VALUE;
922
966
  var theTimerHandler;
923
- var _unref = function () {
967
+ function _unref() {
924
968
  ref = false;
925
969
  timerId && timerId[UNREF] && timerId[UNREF]();
926
970
  return theTimerHandler;
927
- };
928
- var _ref = function () {
929
- ref = true;
930
- timerId && timerId[REF] && timerId[REF]();
971
+ }
972
+ function _cancel() {
973
+ timerId && cancelFn(timerId);
974
+ timerId = NULL_VALUE;
975
+ }
976
+ function _refresh() {
977
+ timerId = refreshFn(timerId);
978
+ if (!ref) {
979
+ _unref();
980
+ }
931
981
  return theTimerHandler;
982
+ }
983
+ function _setEnabled(value) {
984
+ !value && timerId && _cancel();
985
+ value && !timerId && _refresh();
986
+ }
987
+ theTimerHandler = {
988
+ cancel: _cancel,
989
+ refresh: _refresh
932
990
  };
933
- var _hasRef = function () {
991
+ theTimerHandler[HAS_REF] = function () {
934
992
  if (timerId && timerId[HAS_REF]) {
935
993
  return timerId[HAS_REF]();
936
994
  }
937
995
  return ref;
938
996
  };
939
- var _refresh = function () {
940
- timerId = refreshFn(timerId);
941
- if (!ref) {
942
- _unref();
943
- }
997
+ theTimerHandler[REF] = function () {
998
+ ref = true;
999
+ timerId && timerId[REF] && timerId[REF]();
944
1000
  return theTimerHandler;
945
1001
  };
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, {
1002
+ theTimerHandler[UNREF] = _unref;
1003
+ theTimerHandler = objDefineProp(theTimerHandler, ENABLED, {
964
1004
  get: function () { return !!timerId; },
965
1005
  set: _setEnabled
966
1006
  });
@@ -972,7 +1012,7 @@
972
1012
  };
973
1013
  }
974
1014
 
975
- function _createTimeoutWith(self, startTimer, overrideFn, theArgs) {
1015
+ function _createTimeoutWith(startTimer, overrideFn, theArgs) {
976
1016
  var isArr = isArray(overrideFn);
977
1017
  var len = isArr ? overrideFn.length : 0;
978
1018
  var setFn = (len > 0 ? overrideFn[0] : (!isArr ? overrideFn : UNDEF_VALUE)) || setTimeout;
@@ -980,7 +1020,7 @@
980
1020
  var timerFn = theArgs[0];
981
1021
  theArgs[0] = function () {
982
1022
  handler.dn();
983
- fnApply(timerFn, self, arrSlice(arguments));
1023
+ fnApply(timerFn, UNDEF_VALUE, ArrSlice[CALL](arguments));
984
1024
  };
985
1025
  var handler = _createTimerHandler(startTimer, function (timerId) {
986
1026
  if (timerId) {
@@ -988,23 +1028,21 @@
988
1028
  timerId.refresh();
989
1029
  return timerId;
990
1030
  }
991
- fnApply(clearFn, self, [timerId]);
1031
+ fnApply(clearFn, UNDEF_VALUE, [timerId]);
992
1032
  }
993
- return fnApply(setFn, self, theArgs);
1033
+ return fnApply(setFn, UNDEF_VALUE, theArgs);
994
1034
  }, function (timerId) {
995
- fnApply(clearFn, self, [timerId]);
1035
+ fnApply(clearFn, UNDEF_VALUE, [timerId]);
996
1036
  });
997
1037
  return handler.h;
998
1038
  }
999
1039
  function scheduleTimeout(callback, timeout) {
1000
- return _createTimeoutWith(this, true, UNDEF_VALUE, arrSlice(arguments));
1040
+ return _createTimeoutWith(true, UNDEF_VALUE, ArrSlice[CALL](arguments));
1001
1041
  }
1002
1042
  function createTimeout(callback, timeout) {
1003
- return _createTimeoutWith(this, false, UNDEF_VALUE, arrSlice(arguments));
1043
+ return _createTimeoutWith(false, UNDEF_VALUE, ArrSlice[CALL](arguments));
1004
1044
  }
1005
1045
 
1006
- (getGlobal() || {})["Symbol"];
1007
- (getGlobal() || {})["Reflect"];
1008
1046
  var strHasOwnProperty = "hasOwnProperty";
1009
1047
  var extendStaticsFn = function (d, b) {
1010
1048
  extendStaticsFn = ObjClass$1["setPrototypeOf"] ||
@@ -1107,13 +1145,13 @@
1107
1145
  }
1108
1146
  }
1109
1147
  function _isDynamicCandidate(target, funcName, skipOwn) {
1110
- return (funcName !== Constructor && typeof target[funcName] === strFunction && (skipOwn || objHasOwnProperty(target, funcName)));
1148
+ return (funcName !== Constructor && typeof target[funcName] === strFunction && (skipOwn || objHasOwnProperty(target, funcName)) && funcName !== str__Proto && funcName !== Prototype);
1111
1149
  }
1112
1150
  function _throwTypeError(message) {
1113
1151
  throwTypeError("DynamicProto: " + message);
1114
1152
  }
1115
1153
  function _getInstanceFuncs(thisTarget) {
1116
- var instFuncs = {};
1154
+ var instFuncs = objCreate(null);
1117
1155
  _forEachProp(thisTarget, function (name) {
1118
1156
  if (!instFuncs[name] && _isDynamicCandidate(thisTarget, name, false)) {
1119
1157
  instFuncs[name] = thisTarget[name];
@@ -1142,7 +1180,7 @@
1142
1180
  return theFunc.apply(target, arguments);
1143
1181
  };
1144
1182
  }
1145
- var baseFuncs = {};
1183
+ var baseFuncs = objCreate(null);
1146
1184
  _forEachProp(instFuncs, function (name) {
1147
1185
  baseFuncs[name] = _instFuncProxy(thisTarget, instFuncs, name);
1148
1186
  });
@@ -1162,8 +1200,8 @@
1162
1200
  function _getInstFunc(target, funcName, proto, currentDynProtoProxy) {
1163
1201
  var instFunc = null;
1164
1202
  if (target && objHasOwnProperty(proto, DynClassName)) {
1165
- var instFuncTable = target[DynInstFuncTable] || {};
1166
- instFunc = (instFuncTable[proto[DynClassName]] || {})[funcName];
1203
+ var instFuncTable = target[DynInstFuncTable] || objCreate(null);
1204
+ instFunc = (instFuncTable[proto[DynClassName]] || objCreate(null))[funcName];
1167
1205
  if (!instFunc) {
1168
1206
  _throwTypeError("Missing [" + funcName + "] " + strFunction);
1169
1207
  }
@@ -1213,20 +1251,24 @@
1213
1251
  return dynProtoProxy;
1214
1252
  }
1215
1253
  if (!_isObjectOrArrayPrototype(proto)) {
1216
- var instFuncTable = target[DynInstFuncTable] = target[DynInstFuncTable] || {};
1217
- var instFuncs_1 = instFuncTable[className] = (instFuncTable[className] || {});
1218
- if (instFuncTable[DynAllowInstChkTag] !== false) {
1219
- instFuncTable[DynAllowInstChkTag] = !!setInstanceFunc;
1220
- }
1221
- _forEachProp(target, function (name) {
1222
- if (_isDynamicCandidate(target, name, false) && target[name] !== baseInstFuncs[name]) {
1223
- instFuncs_1[name] = target[name];
1224
- delete target[name];
1225
- if (!objHasOwnProperty(proto, name) || (proto[name] && !proto[name][DynProxyTag])) {
1226
- proto[name] = _createDynamicPrototype(proto, name);
1227
- }
1254
+ var instFuncTable = target[DynInstFuncTable] = target[DynInstFuncTable] || objCreate(null);
1255
+ if (!_isObjectOrArrayPrototype(instFuncTable)) {
1256
+ var instFuncs_1 = instFuncTable[className] = (instFuncTable[className] || objCreate(null));
1257
+ if (instFuncTable[DynAllowInstChkTag] !== false) {
1258
+ instFuncTable[DynAllowInstChkTag] = !!setInstanceFunc;
1259
+ }
1260
+ if (!_isObjectOrArrayPrototype(instFuncs_1)) {
1261
+ _forEachProp(target, function (name) {
1262
+ if (_isDynamicCandidate(target, name, false) && target[name] !== baseInstFuncs[name]) {
1263
+ instFuncs_1[name] = target[name];
1264
+ delete target[name];
1265
+ if (!objHasOwnProperty(proto, name) || (proto[name] && !proto[name][DynProxyTag])) {
1266
+ proto[name] = _createDynamicPrototype(proto, name);
1267
+ }
1268
+ }
1269
+ });
1228
1270
  }
1229
- });
1271
+ }
1230
1272
  }
1231
1273
  }
1232
1274
  function _checkPrototype(classProto, thisTarget) {
@@ -1313,16 +1355,16 @@
1313
1355
  var _DYN_CANCEL = "cancel";
1314
1356
  var _DYN_INITIALIZE$1 = "initialize";
1315
1357
  var _DYN_IDENTIFIER = "identifier";
1358
+ var _DYN_REMOVE_NOTIFICATION_0 = "removeNotificationListener";
1359
+ var _DYN_ADD_NOTIFICATION_LIS1 = "addNotificationListener";
1316
1360
  var _DYN_IS_INITIALIZED = "isInitialized";
1361
+ var _DYN_GET_NOTIFY_MGR = "getNotifyMgr";
1317
1362
  var _DYN_GET_PLUGIN = "getPlugin";
1318
1363
  var _DYN_POLL_INTERNAL_LOGS$1 = "pollInternalLogs";
1319
1364
  var _DYN_NAME = "name";
1320
1365
  var _DYN_TIME = "time";
1321
1366
  var _DYN_PROCESS_NEXT = "processNext";
1322
- var _DYN_GET_PROCESS_TEL_CONT0 = "getProcessTelContext";
1323
- var _DYN_GET_NOTIFY_MGR = "getNotifyMgr";
1324
- var _DYN_ADD_NOTIFICATION_LIS1 = "addNotificationListener";
1325
- var _DYN_REMOVE_NOTIFICATION_2 = "removeNotificationListener";
1367
+ var _DYN_GET_PROCESS_TEL_CONT2 = "getProcessTelContext";
1326
1368
  var _DYN_ENABLED = "enabled";
1327
1369
  var _DYN_STOP_POLLING_INTERNA3 = "stopPollingInternalLogs";
1328
1370
  var _DYN_UNLOAD = "unload";
@@ -1372,15 +1414,15 @@
1372
1414
 
1373
1415
  function doAwaitResponse(value, cb) {
1374
1416
  return doAwait(value, function (value) {
1375
- cb && cb({
1417
+ return cb ? cb({
1376
1418
  value: value,
1377
1419
  rejected: false
1378
- });
1420
+ }) : value;
1379
1421
  }, function (reason) {
1380
- cb && cb({
1422
+ return cb ? cb({
1381
1423
  rejected: true,
1382
1424
  reason: reason
1383
- });
1425
+ }) : reason;
1384
1426
  });
1385
1427
  }
1386
1428
  function doAwait(value, resolveFn, rejectFn, finallyFn) {
@@ -1391,10 +1433,12 @@
1391
1433
  }
1392
1434
  }
1393
1435
  else {
1394
- resolveFn && resolveFn(value);
1436
+ if (resolveFn) {
1437
+ result = resolveFn(value);
1438
+ }
1395
1439
  }
1396
1440
  if (finallyFn) {
1397
- result = doFinally(result, finallyFn);
1441
+ doFinally(result, finallyFn);
1398
1442
  }
1399
1443
  return result;
1400
1444
  }
@@ -2105,7 +2149,7 @@
2105
2149
  return result;
2106
2150
  }
2107
2151
 
2108
- var version = '3.0.7-nightly3.2312-05';
2152
+ var version = '3.0.9';
2109
2153
  var instanceName = "." + newId(6);
2110
2154
  var _dataUid = 0;
2111
2155
  function _canAcceptData(target) {
@@ -2674,6 +2718,7 @@
2674
2718
  configHandler = null;
2675
2719
  }
2676
2720
  };
2721
+ objDefine(handler, "toJSON", { v: function () { return "WatcherHandler" + (handler.fn ? "" : "[X]"); } });
2677
2722
  state.use(handler, configHandler);
2678
2723
  return handler;
2679
2724
  }
@@ -3342,18 +3387,26 @@
3342
3387
  var defaultValues$1 = {
3343
3388
  perfEvtsSendAll: false
3344
3389
  };
3345
- function _runListeners(listeners, name, isAsync, callback) {
3390
+ function _runScheduledListeners(asyncNotifications) {
3391
+ asyncNotifications.h = null;
3392
+ var callbacks = asyncNotifications.cb;
3393
+ asyncNotifications.cb = [];
3394
+ arrForEach(callbacks, function (cb) {
3395
+ safe(cb.fn, [cb.arg]);
3396
+ });
3397
+ }
3398
+ function _runListeners(listeners, name, asyncNotifications, callback) {
3346
3399
  arrForEach(listeners, function (listener) {
3347
3400
  if (listener && listener[name]) {
3348
- if (isAsync) {
3349
- scheduleTimeout(function () { return callback(listener); }, 0);
3401
+ if (asyncNotifications) {
3402
+ asyncNotifications.cb[_DYN_PUSH ]({
3403
+ fn: callback,
3404
+ arg: listener
3405
+ });
3406
+ asyncNotifications.h = asyncNotifications.h || scheduleTimeout(_runScheduledListeners, 0, asyncNotifications);
3350
3407
  }
3351
3408
  else {
3352
- try {
3353
- callback(listener);
3354
- }
3355
- catch (e) {
3356
- }
3409
+ safe(callback, [listener]);
3357
3410
  }
3358
3411
  }
3359
3412
  });
@@ -3364,6 +3417,10 @@
3364
3417
  var perfEvtsSendAll;
3365
3418
  var unloadHandler;
3366
3419
  var _listeners = [];
3420
+ var _asyncNotifications = {
3421
+ h: null,
3422
+ cb: []
3423
+ };
3367
3424
  var cfgHandler = createDynamicConfig(config, defaultValues$1);
3368
3425
  unloadHandler = cfgHandler[_DYN_WATCH ](function (details) {
3369
3426
  perfEvtsSendAll = !!details.cfg.perfEvtsSendAll;
@@ -3375,7 +3432,7 @@
3375
3432
  _self[_DYN_ADD_NOTIFICATION_LIS1 ] = function (listener) {
3376
3433
  _listeners[_DYN_PUSH ](listener);
3377
3434
  };
3378
- _self[_DYN_REMOVE_NOTIFICATION_2 ] = function (listener) {
3435
+ _self[_DYN_REMOVE_NOTIFICATION_0 ] = function (listener) {
3379
3436
  var index = arrIndexOf(_listeners, listener);
3380
3437
  while (index > -1) {
3381
3438
  _listeners[_DYN_SPLICE ](index, 1);
@@ -3383,24 +3440,24 @@
3383
3440
  }
3384
3441
  };
3385
3442
  _self[STR_EVENTS_SENT ] = function (events) {
3386
- _runListeners(_listeners, STR_EVENTS_SENT, true, function (listener) {
3443
+ _runListeners(_listeners, STR_EVENTS_SENT, _asyncNotifications, function (listener) {
3387
3444
  listener[STR_EVENTS_SENT ](events);
3388
3445
  });
3389
3446
  };
3390
3447
  _self[STR_EVENTS_DISCARDED ] = function (events, reason) {
3391
- _runListeners(_listeners, STR_EVENTS_DISCARDED, true, function (listener) {
3448
+ _runListeners(_listeners, STR_EVENTS_DISCARDED, _asyncNotifications, function (listener) {
3392
3449
  listener[STR_EVENTS_DISCARDED ](events, reason);
3393
3450
  });
3394
3451
  };
3395
3452
  _self[STR_EVENTS_SEND_REQUEST ] = function (sendReason, isAsync) {
3396
- _runListeners(_listeners, STR_EVENTS_SEND_REQUEST, isAsync, function (listener) {
3453
+ _runListeners(_listeners, STR_EVENTS_SEND_REQUEST, isAsync ? _asyncNotifications : null, function (listener) {
3397
3454
  listener[STR_EVENTS_SEND_REQUEST ](sendReason, isAsync);
3398
3455
  });
3399
3456
  };
3400
3457
  _self[STR_PERF_EVENT ] = function (perfEvent) {
3401
3458
  if (perfEvent) {
3402
3459
  if (perfEvtsSendAll || !perfEvent[_DYN_IS_CHILD_EVT ]()) {
3403
- _runListeners(_listeners, STR_PERF_EVENT, false, function (listener) {
3460
+ _runListeners(_listeners, STR_PERF_EVENT, null, function (listener) {
3404
3461
  if (perfEvent[_DYN_IS_ASYNC ]) {
3405
3462
  scheduleTimeout(function () { return listener[STR_PERF_EVENT ](perfEvent); }, 0);
3406
3463
  }
@@ -3416,9 +3473,12 @@
3416
3473
  unloadHandler && unloadHandler.rm();
3417
3474
  unloadHandler = null;
3418
3475
  _listeners = [];
3476
+ _asyncNotifications.h && _asyncNotifications.h[_DYN_CANCEL ]();
3477
+ _asyncNotifications.h = null;
3478
+ _asyncNotifications.cb = [];
3419
3479
  };
3420
3480
  var waiting;
3421
- _runListeners(_listeners, "unload", false, function (listener) {
3481
+ _runListeners(_listeners, "unload", null, function (listener) {
3422
3482
  var asyncUnload = listener[_DYN_UNLOAD ](isAsync);
3423
3483
  if (asyncUnload) {
3424
3484
  if (!waiting) {
@@ -4211,6 +4271,12 @@
4211
4271
  };
4212
4272
  }
4213
4273
 
4274
+ var _maxHooks;
4275
+ var _hookAddMonitor;
4276
+ function _testHookMaxUnloadHooksCb(maxHooks, addMonitor) {
4277
+ _maxHooks = maxHooks;
4278
+ _hookAddMonitor = addMonitor;
4279
+ }
4214
4280
  function createUnloadHookContainer() {
4215
4281
  var _hooks = [];
4216
4282
  function _doUnload(logger) {
@@ -4224,10 +4290,16 @@
4224
4290
  _throwInternal(logger, 2 , 73 , "Unloading:" + dumpObj(e));
4225
4291
  }
4226
4292
  });
4293
+ if (_maxHooks && oldHooks[_DYN_LENGTH$1 ] > _maxHooks) {
4294
+ _hookAddMonitor ? _hookAddMonitor("doUnload", oldHooks) : _throwInternal(null, 1 , 48 , "Max unload hooks exceeded. An excessive number of unload hooks has been detected.");
4295
+ }
4227
4296
  }
4228
4297
  function _addHook(hooks) {
4229
4298
  if (hooks) {
4230
4299
  arrAppend(_hooks, hooks);
4300
+ if (_maxHooks && _hooks[_DYN_LENGTH$1 ] > _maxHooks) {
4301
+ _hookAddMonitor ? _hookAddMonitor("Add", _hooks) : _throwInternal(null, 1 , 48 , "Max unload hooks exceeded. An excessive number of unload hooks has been detected.");
4302
+ }
4231
4303
  }
4232
4304
  }
4233
4305
  return {
@@ -4355,7 +4427,7 @@
4355
4427
  function _setDefaults(config, core, pluginChain) {
4356
4428
  createDynamicConfig(config, defaultValues, safeGetLogger(core));
4357
4429
  if (!pluginChain && core) {
4358
- pluginChain = core[_DYN_GET_PROCESS_TEL_CONT0 ]()[_DYN_GET_NEXT ]();
4430
+ pluginChain = core[_DYN_GET_PROCESS_TEL_CONT2 ]()[_DYN_GET_NEXT ]();
4359
4431
  }
4360
4432
  var nextPlugin = _nextPlugin;
4361
4433
  if (_nextPlugin && _nextPlugin[strGetPlugin]) {
@@ -4559,6 +4631,27 @@
4559
4631
  };
4560
4632
  });
4561
4633
  }
4634
+ function _initDebugListener(configHandler, unloadContainer, notificationManager, debugListener) {
4635
+ unloadContainer.add(configHandler[_DYN_WATCH ](function (details) {
4636
+ var disableDbgExt = details.cfg.disableDbgExt;
4637
+ if (disableDbgExt === true && debugListener) {
4638
+ notificationManager[_DYN_REMOVE_NOTIFICATION_0 ](debugListener);
4639
+ debugListener = null;
4640
+ }
4641
+ if (notificationManager && !debugListener && disableDbgExt !== true) {
4642
+ debugListener = getDebugListener(details.cfg);
4643
+ notificationManager[_DYN_ADD_NOTIFICATION_LIS1 ](debugListener);
4644
+ }
4645
+ }));
4646
+ return debugListener;
4647
+ }
4648
+ function _createUnloadHook(unloadHook) {
4649
+ return objDefine({
4650
+ rm: function () {
4651
+ unloadHook.rm();
4652
+ }
4653
+ }, "toJSON", { v: function () { return "aicore::onCfgChange<" + JSON.stringify(unloadHook) + ">"; } });
4654
+ }
4562
4655
  var AppInsightsCore$1 = /** @class */ (function () {
4563
4656
  function AppInsightsCore() {
4564
4657
  var _configHandler;
@@ -4615,7 +4708,7 @@
4615
4708
  }
4616
4709
  }));
4617
4710
  _notificationManager = notificationManager;
4618
- _initDebugListener();
4711
+ _debugListener = _initDebugListener(_configHandler, _hookContainer, _notificationManager && _self[_DYN_GET_NOTIFY_MGR ](), _debugListener);
4619
4712
  _initPerfManager();
4620
4713
  _self[_DYN_LOGGER$1 ] = logger;
4621
4714
  var cfgExtensions = config[STR_EXTENSIONS ];
@@ -4668,7 +4761,7 @@
4668
4761
  }
4669
4762
  }, function () { return ({ item: telemetryItem }); }, !(telemetryItem.sync));
4670
4763
  };
4671
- _self[_DYN_GET_PROCESS_TEL_CONT0 ] = _createTelCtx;
4764
+ _self[_DYN_GET_PROCESS_TEL_CONT2 ] = _createTelCtx;
4672
4765
  _self[_DYN_GET_NOTIFY_MGR ] = function () {
4673
4766
  if (!_notificationManager) {
4674
4767
  _notificationManager = new NotificationManager(_configHandler.cfg);
@@ -4677,11 +4770,11 @@
4677
4770
  return _notificationManager;
4678
4771
  };
4679
4772
  _self[_DYN_ADD_NOTIFICATION_LIS1 ] = function (listener) {
4680
- _self[_DYN_GET_NOTIFY_MGR ]()[_DYN_ADD_NOTIFICATION_LIS1 ](listener);
4773
+ _self.getNotifyMgr()[_DYN_ADD_NOTIFICATION_LIS1 ](listener);
4681
4774
  };
4682
- _self[_DYN_REMOVE_NOTIFICATION_2 ] = function (listener) {
4775
+ _self[_DYN_REMOVE_NOTIFICATION_0 ] = function (listener) {
4683
4776
  if (_notificationManager) {
4684
- _notificationManager[_DYN_REMOVE_NOTIFICATION_2 ](listener);
4777
+ _notificationManager[_DYN_REMOVE_NOTIFICATION_0 ](listener);
4685
4778
  }
4686
4779
  };
4687
4780
  _self.getCookieMgr = function () {
@@ -4697,16 +4790,6 @@
4697
4790
  }
4698
4791
  };
4699
4792
  _self[STR_GET_PERF_MGR ] = function () {
4700
- if (!_perfManager && !_cfgPerfManager) {
4701
- _addUnloadHook(_configHandler[_DYN_WATCH ](function (details) {
4702
- if (details.cfg.enablePerfMgr) {
4703
- var createPerfMgr = details.cfg[STR_CREATE_PERF_MGR ];
4704
- if (isFunction(createPerfMgr)) {
4705
- _cfgPerfManager = createPerfMgr(_self, _self[_DYN_GET_NOTIFY_MGR ]());
4706
- }
4707
- }
4708
- }));
4709
- }
4710
4793
  return _perfManager || _cfgPerfManager || getGblPerfMgr();
4711
4794
  };
4712
4795
  _self.setPerfMgr = function (perfMgr) {
@@ -4901,11 +4984,7 @@
4901
4984
  else {
4902
4985
  unloadHook = onConfigChange(_configHandler.cfg, handler, _self[_DYN_LOGGER$1 ]);
4903
4986
  }
4904
- return {
4905
- rm: function () {
4906
- unloadHook.rm();
4907
- }
4908
- };
4987
+ return _createUnloadHook(unloadHook);
4909
4988
  };
4910
4989
  _self.getWParam = function () {
4911
4990
  return (hasDocument() || !!_configHandler.cfg.enableWParam) ? 0 : -1;
@@ -5005,6 +5084,8 @@
5005
5084
  _pluginVersionString = null;
5006
5085
  _pluginVersionStringArr = null;
5007
5086
  _forceStopInternalLogPoller = false;
5087
+ _internalLogPoller = null;
5088
+ _internalLogPollerListening = false;
5008
5089
  }
5009
5090
  function _createTelCtx() {
5010
5091
  var theCtx = createProcessTelemetryContext(_getPluginChain(), _configHandler.cfg, _self);
@@ -5199,28 +5280,27 @@
5199
5280
  doCallback();
5200
5281
  return true;
5201
5282
  }
5202
- function _initDebugListener() {
5203
- !_notificationManager && _self[_DYN_GET_NOTIFY_MGR ]();
5204
- _addUnloadHook(_configHandler[_DYN_WATCH ](function (details) {
5205
- var disableDbgExt = details.cfg.disableDbgExt;
5206
- if (disableDbgExt === true && _debugListener) {
5207
- _notificationManager[_DYN_REMOVE_NOTIFICATION_2 ](_debugListener);
5208
- _debugListener = null;
5209
- }
5210
- if (_notificationManager && !_debugListener && disableDbgExt !== true) {
5211
- _debugListener = getDebugListener(details.cfg);
5212
- _notificationManager[_DYN_ADD_NOTIFICATION_LIS1 ](_debugListener);
5213
- }
5214
- }));
5215
- }
5216
5283
  function _initPerfManager() {
5284
+ var prevCfgPerfMgr;
5217
5285
  _addUnloadHook(_configHandler[_DYN_WATCH ](function (details) {
5218
5286
  var enablePerfMgr = details.cfg.enablePerfMgr;
5219
- if (!enablePerfMgr && _cfgPerfManager) {
5220
- _cfgPerfManager = null;
5221
- }
5222
5287
  if (enablePerfMgr) {
5223
- getSetValue(details.cfg, STR_CREATE_PERF_MGR, _createPerfManager);
5288
+ var createPerfMgr = details.cfg[STR_CREATE_PERF_MGR ];
5289
+ if (prevCfgPerfMgr !== createPerfMgr) {
5290
+ if (!createPerfMgr) {
5291
+ createPerfMgr = _createPerfManager;
5292
+ }
5293
+ getSetValue(details.cfg, STR_CREATE_PERF_MGR, createPerfMgr);
5294
+ prevCfgPerfMgr = createPerfMgr;
5295
+ _cfgPerfManager = null;
5296
+ }
5297
+ if (!_perfManager && !_cfgPerfManager && isFunction(createPerfMgr)) {
5298
+ _cfgPerfManager = createPerfMgr(_self, _self[_DYN_GET_NOTIFY_MGR ]());
5299
+ }
5300
+ }
5301
+ else {
5302
+ _cfgPerfManager = null;
5303
+ prevCfgPerfMgr = null;
5224
5304
  }
5225
5305
  }));
5226
5306
  }
@@ -5593,7 +5673,7 @@
5593
5673
  var _DYN_CAN_HANDLE = "canHandle";
5594
5674
 
5595
5675
  var _a;
5596
- var Version = '4.0.6-nightly3.2312-05';
5676
+ var Version = '4.0.7';
5597
5677
  var FullVersionString = "1DS-Web-JS-" + Version;
5598
5678
  var ObjHasOwnProperty = ObjProto$1.hasOwnProperty;
5599
5679
  var strDisabledPropertyName = "Microsoft_ApplicationInsights_BypassAjaxInstrumentation";
@@ -6190,6 +6270,7 @@
6190
6270
  exports._InternalLogMessage = _InternalLogMessage;
6191
6271
  exports.__getRegisteredEvents = __getRegisteredEvents;
6192
6272
  exports._logInternalMessage = _logInternalMessage;
6273
+ exports._testHookMaxUnloadHooksCb = _testHookMaxUnloadHooksCb;
6193
6274
  exports._throwInternal = _throwInternal;
6194
6275
  exports._warnToConsole = _warnToConsole;
6195
6276
  exports.addEventHandler = addEventHandler;