@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,12 +1,12 @@
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
  */
6
6
  (function (global, factory) {
7
7
  var undef = "undefined";
8
- var nsKey, key, nm, theExports = {}, modName = "es5_ms_core_4_0_6_nightly3_2312_05", msMod="__ms$mod__";
9
- var mods={}, modDetail=mods[modName]={}, ver="4.0.6-nightly3.2312-05";
8
+ var nsKey, key, nm, theExports = {}, modName = "es5_ms_core_4_0_7", msMod="__ms$mod__";
9
+ var mods={}, modDetail=mods[modName]={}, ver="4.0.7";
10
10
  // Versioned namespace "oneDS4"
11
11
  var exportNs=global, nsKey="oneDS4", exportNs=exportNs[nsKey]=(exportNs[nsKey]||{});
12
12
  // Global namespace "oneDS"
@@ -36,23 +36,18 @@ var ObjProto$1 = ObjClass$1[strShimPrototype];
36
36
  var UNDEF_VALUE = undefined;
37
37
  var NULL_VALUE = null;
38
38
  var EMPTY = "";
39
- var BOOLEAN = "boolean";
40
39
  var FUNCTION = "function";
41
- var NUMBER = "number";
42
40
  var OBJECT = "object";
43
41
  var PROTOTYPE = "prototype";
44
42
  var __PROTO__ = "__proto__";
45
- var STRING = "string";
46
43
  var UNDEFINED = "undefined";
47
44
  var CONSTRUCTOR = "constructor";
48
45
  var SYMBOL = "Symbol";
49
46
  var POLYFILL_TAG = "_polyfill";
50
- var INDEX_OF = "indexOf";
51
47
  var LENGTH = "length";
52
- var DONE = "done";
53
- var VALUE = "value";
54
48
  var NAME = "name";
55
- var SLICE = "slice";
49
+ var CALL = "call";
50
+ var TO_STRING = "toString";
56
51
  var ObjClass = Object;
57
52
  var ObjProto = ObjClass[PROTOTYPE];
58
53
  var StrCls = String;
@@ -60,52 +55,71 @@ var StrProto = StrCls[PROTOTYPE];
60
55
  var MathCls = Math;
61
56
  var ArrCls = Array;
62
57
  var ArrProto = ArrCls[PROTOTYPE];
58
+ var ArrSlice = ArrProto["slice"];
63
59
 
64
- function safeGet(cb, defValue) {
65
- var result = defValue;
60
+ function safe(func, argArray) {
66
61
  try {
67
- result = cb();
62
+ return {
63
+ v: func.apply(this, argArray)
64
+ };
68
65
  }
69
66
  catch (e) {
67
+ return { e: e };
70
68
  }
71
- return result;
72
69
  }
73
70
 
74
- var PRIMITIVE_TYPES = [STRING, NUMBER, BOOLEAN, UNDEFINED, "symbol", "bigint"];
71
+ /*#__NO_SIDE_EFFECTS__*/
72
+ function safeGet(cb, defValue) {
73
+ var result = safe(cb);
74
+ return result.e ? defValue : result.v;
75
+ }
76
+
77
+ var _primitiveTypes;
78
+ /*#__NO_SIDE_EFFECTS__*/
75
79
  function _createIs(theType) {
76
80
  return function (value) {
77
81
  return typeof value === theType;
78
82
  };
79
83
  }
84
+ /*#__NO_SIDE_EFFECTS__*/
80
85
  function _createObjIs(theName) {
81
86
  var theType = "[object " + theName + "]";
82
87
  return function (value) {
83
88
  return !!(value && objToString(value) === theType);
84
89
  };
85
90
  }
91
+ /*#__NO_SIDE_EFFECTS__*/
86
92
  function objToString(value) {
87
93
  return ObjProto.toString.call(value);
88
94
  }
95
+ /*#__NO_SIDE_EFFECTS__*/
89
96
  function isTypeof(value, theType) {
90
97
  return typeof value === theType;
91
98
  }
99
+ /*#__NO_SIDE_EFFECTS__*/
92
100
  function isUndefined(value) {
93
101
  return typeof value === UNDEFINED || value === UNDEFINED;
94
102
  }
103
+ /*#__NO_SIDE_EFFECTS__*/
95
104
  function isNullOrUndefined(value) {
96
105
  return value === NULL_VALUE || isUndefined(value);
97
106
  }
107
+ /*#__NO_SIDE_EFFECTS__*/
98
108
  function isStrictNullOrUndefined(value) {
99
109
  return value === NULL_VALUE || !isDefined(value);
100
110
  }
111
+ /*#__NO_SIDE_EFFECTS__*/
101
112
  function isDefined(arg) {
102
113
  return !!arg || arg !== UNDEF_VALUE;
103
114
  }
104
- var isPrimitiveType = function (theType) {
105
- return theType !== OBJECT && PRIMITIVE_TYPES.indexOf(theType) !== -1;
106
- };
107
- var isString = _createIs(STRING);
108
- var isFunction = _createIs(FUNCTION);
115
+ /*#__NO_SIDE_EFFECTS__*/
116
+ function isPrimitiveType(theType) {
117
+ !_primitiveTypes && (_primitiveTypes = ["string", "number", "boolean", UNDEFINED, "symbol", "bigint"]);
118
+ return theType !== OBJECT && _primitiveTypes.indexOf(theType) !== -1;
119
+ }
120
+ var isString = ( /*#__PURE__*/_createIs("string"));
121
+ var isFunction = ( /*#__PURE__*/_createIs(FUNCTION));
122
+ /*#__NO_SIDE_EFFECTS__*/
109
123
  function isObject(value) {
110
124
  if (!value && isNullOrUndefined(value)) {
111
125
  return false;
@@ -113,27 +127,32 @@ function isObject(value) {
113
127
  return !!value && typeof value === OBJECT;
114
128
  }
115
129
  var isArray = ArrCls.isArray;
116
- var isDate = _createObjIs("Date");
117
- var isNumber = _createIs(NUMBER);
118
- var isBoolean = _createIs(BOOLEAN);
119
- var isError = _createObjIs("Error");
130
+ var isDate = ( /*#__PURE__*/_createObjIs("Date"));
131
+ var isNumber = ( /*#__PURE__*/_createIs("number"));
132
+ var isBoolean = ( /*#__PURE__*/_createIs("boolean"));
133
+ var isError = ( /*#__PURE__*/_createObjIs("Error"));
134
+ /*#__NO_SIDE_EFFECTS__*/
120
135
  function isPromiseLike(value) {
121
- return !!value && isFunction(value.then);
136
+ return !!(value && value.then && isFunction(value.then));
122
137
  }
138
+ /*#__NO_SIDE_EFFECTS__*/
123
139
  function isNotTruthy(value) {
124
- return !value || !safeGet(function () { return (value && (0 + value)); }, value);
140
+ return !value || !isTruthy(value);
125
141
  }
142
+ /*#__NO_SIDE_EFFECTS__*/
126
143
  function isTruthy(value) {
127
144
  return !(!value || safeGet(function () { return !(value && (0 + value)); }, !value));
128
145
  }
129
146
 
130
147
  var objGetOwnPropertyDescriptor = ObjClass.getOwnPropertyDescriptor;
131
148
 
149
+ /*#__NO_SIDE_EFFECTS__*/
132
150
  function objHasOwnProperty(obj, prop) {
133
- return obj && ObjProto.hasOwnProperty.call(obj, prop);
151
+ return !!obj && ObjProto.hasOwnProperty[CALL](obj, prop);
134
152
  }
135
153
 
136
154
  var objHasOwn = ObjClass["hasOwn"] || polyObjHasOwn;
155
+ /*#__NO_SIDE_EFFECTS__*/
137
156
  function polyObjHasOwn(obj, prop) {
138
157
  return objHasOwnProperty(obj, prop) || !!objGetOwnPropertyDescriptor(obj, prop);
139
158
  }
@@ -142,7 +161,7 @@ function objForEachKey(theObject, callbackfn, thisArg) {
142
161
  if (theObject && isObject(theObject)) {
143
162
  for (var prop in theObject) {
144
163
  if (objHasOwn(theObject, prop)) {
145
- if (callbackfn.call(thisArg || theObject, prop, theObject[prop]) === -1) {
164
+ if (callbackfn[CALL](thisArg || theObject, prop, theObject[prop]) === -1) {
146
165
  break;
147
166
  }
148
167
  }
@@ -150,6 +169,7 @@ function objForEachKey(theObject, callbackfn, thisArg) {
150
169
  }
151
170
  }
152
171
 
172
+ /*#__NO_SIDE_EFFECTS__*/
153
173
  function _createKeyValueMap(values, keyType, valueType, completeFn) {
154
174
  var theMap = {};
155
175
  objForEachKey(values, function (key, value) {
@@ -167,15 +187,15 @@ function throwTypeError(message) {
167
187
  }
168
188
 
169
189
  var _objFreeze = ObjClass["freeze"];
170
- var _doNothing = function (value) { return value; };
171
- var _getProto = function (value) { return value[__PROTO__] || NULL_VALUE; };
172
- var objAssign = ObjClass["assign"];
173
- function objKeys(value) {
174
- if (!isObject(value) || value === NULL_VALUE) {
175
- throwTypeError("objKeys called on non-object");
176
- }
177
- return ObjClass.keys(value);
190
+ function _doNothing(value) {
191
+ return value;
178
192
  }
193
+ /*#__NO_SIDE_EFFECTS__*/
194
+ function _getProto(value) {
195
+ return value[__PROTO__] || NULL_VALUE;
196
+ }
197
+ var objAssign = ObjClass["assign"];
198
+ var objKeys = ObjClass.keys;
179
199
  function objDeepFreeze(value) {
180
200
  if (_objFreeze) {
181
201
  objForEachKey(value, function (key, value) {
@@ -190,14 +210,16 @@ var objFreeze = _objFreeze || _doNothing;
190
210
  var objSeal = ObjClass["seal"] || _doNothing;
191
211
  var objGetPrototypeOf = ObjClass["getPrototypeOf"] || _getProto;
192
212
 
213
+ /*#__NO_SIDE_EFFECTS__*/
193
214
  function createEnum(values) {
194
215
  return _createKeyValueMap(values, 1 , 0 , objDeepFreeze);
195
216
  }
217
+ /*#__NO_SIDE_EFFECTS__*/
196
218
  function createEnumKeyMap(values) {
197
219
  return _createKeyValueMap(values, 0 , 0 , objDeepFreeze);
198
220
  }
199
221
 
200
- var _wellKnownSymbolMap = createEnumKeyMap({
222
+ var _wellKnownSymbolMap = /*#__PURE__*/ createEnumKeyMap({
201
223
  asyncIterator: 0 ,
202
224
  hasInstance: 1 ,
203
225
  isConcatSpreadable: 2 ,
@@ -217,6 +239,7 @@ var asString = StrCls;
217
239
 
218
240
  var GLOBAL_CONFIG_KEY = "__tsUtils$gblCfg";
219
241
  var _globalCfg;
242
+ /*#__NO_SIDE_EFFECTS__*/
220
243
  function _getGlobalValue() {
221
244
  var result;
222
245
  if (typeof globalThis !== UNDEFINED) {
@@ -233,60 +256,47 @@ function _getGlobalValue() {
233
256
  }
234
257
  return result;
235
258
  }
259
+ /*#__NO_SIDE_EFFECTS__*/
236
260
  function _getGlobalConfig() {
237
261
  if (!_globalCfg) {
238
- var gbl = _getGlobalValue() || {};
262
+ var gbl = safe(_getGlobalValue).v || {};
239
263
  _globalCfg = gbl[GLOBAL_CONFIG_KEY] = gbl[GLOBAL_CONFIG_KEY] || {};
240
264
  }
241
265
  return _globalCfg;
242
266
  }
243
267
 
268
+ var ERROR_TYPE = "[object Error]";
269
+ /*#__NO_SIDE_EFFECTS__*/
244
270
  function dumpObj(object, format) {
245
271
  var propertyValueDump = EMPTY;
246
- if (isError(object)) {
247
- propertyValueDump = "{ stack: '" + object.stack + "', message: '" + object.message + "', name: '" + object.name + "'";
272
+ var objType = ObjProto[TO_STRING][CALL](object);
273
+ if (objType === ERROR_TYPE) {
274
+ object = { stack: asString(object.stack), message: asString(object.message), name: asString(object.name) };
248
275
  }
249
- else {
250
- try {
251
- propertyValueDump = JSON.stringify(object, NULL_VALUE, format ? (isNumber(format) ? format : 4) : UNDEF_VALUE);
252
- }
253
- catch (e) {
254
- propertyValueDump = " - " + dumpObj(e, format);
255
- }
276
+ try {
277
+ propertyValueDump = JSON.stringify(object, NULL_VALUE, format ? ((typeof format === "number") ? format : 4) : UNDEF_VALUE);
278
+ propertyValueDump = (propertyValueDump && propertyValueDump.replace(/"(\w+)"\s*:\s{0,1}/g, "$1: ")) || asString(object);
279
+ }
280
+ catch (e) {
281
+ propertyValueDump = " - " + dumpObj(e, format);
256
282
  }
257
- return objToString(object) + ": " + propertyValueDump;
283
+ return objType + ": " + propertyValueDump;
258
284
  }
259
285
 
260
- var _arrSlice = ArrProto[SLICE];
261
- var _throwMissingFunction = function (funcName, thisArg) {
262
- throwTypeError("'" + asString(funcName) + "' not defined for " + dumpObj(thisArg));
263
- };
264
- var _unwrapInstFunction = function (funcName) {
265
- return function (thisArg) {
266
- return thisArg[funcName].apply(thisArg, _arrSlice.call(arguments, 1));
267
- };
268
- };
269
- var _unwrapFunction = function (funcName, clsProto) {
270
- var clsFn = clsProto && clsProto[funcName];
271
- return function (thisArg) {
272
- var theFunc = (thisArg && thisArg[funcName]) || clsFn;
273
- if (theFunc) {
274
- return theFunc.apply(thisArg, _arrSlice.call(arguments, 1));
275
- }
276
- _throwMissingFunction(funcName, thisArg);
277
- };
278
- };
279
- var _unwrapFunctionWithPoly = function (funcName, clsProto, polyFunc) {
286
+ var _unwrapFunction = _unwrapFunctionWithPoly;
287
+ /*#__NO_SIDE_EFFECTS__*/
288
+ function _unwrapFunctionWithPoly(funcName, clsProto, polyFunc) {
280
289
  var clsFn = clsProto && clsProto[funcName];
281
290
  return function (thisArg) {
282
291
  var theFunc = (thisArg && thisArg[funcName]) || clsFn;
283
292
  if (theFunc || polyFunc) {
284
293
  var theArgs = arguments;
285
- return (theFunc || polyFunc).apply(thisArg, theFunc ? _arrSlice.call(theArgs, 1) : theArgs);
294
+ return (theFunc || polyFunc).apply(thisArg, theFunc ? ArrSlice[CALL](theArgs, 1) : theArgs);
286
295
  }
287
- _throwMissingFunction(funcName, thisArg);
296
+ throwTypeError("\"" + asString(funcName) + "\" not defined for " + dumpObj(thisArg));
288
297
  };
289
- };
298
+ }
299
+ /*#__NO_SIDE_EFFECTS__*/
290
300
  function _unwrapProp(propName) {
291
301
  return function (thisArg) {
292
302
  return thisArg[propName];
@@ -295,10 +305,11 @@ function _unwrapProp(propName) {
295
305
 
296
306
  var mathMax = MathCls.max;
297
307
 
298
- var strSlice = _unwrapFunction(SLICE, StrProto);
308
+ var strSlice = ( /*#__PURE__*/_unwrapFunction("slice", StrProto));
299
309
 
300
- var strSubstring = _unwrapFunction("substring", StrProto);
301
- var strSubstr = _unwrapFunctionWithPoly("substr", StrProto, polyStrSubstr);
310
+ var strSubstring = ( /*#__PURE__*/_unwrapFunction("substring", StrProto));
311
+ var strSubstr = ( /*#__PURE__*/_unwrapFunctionWithPoly("substr", StrProto, polyStrSubstr));
312
+ /*#__NO_SIDE_EFFECTS__*/
302
313
  function polyStrSubstr(value, start, length) {
303
314
  if (isNullOrUndefined(value)) {
304
315
  throwTypeError("'polyStrSubstr called with invalid " + dumpObj(value));
@@ -315,23 +326,14 @@ function polyStrSubstr(value, start, length) {
315
326
  }
316
327
  return strSlice(value, start, start + length);
317
328
  }
329
+ /*#__NO_SIDE_EFFECTS__*/
318
330
  function strLeft(value, count) {
319
331
  return strSubstring(value, 0, count);
320
332
  }
321
333
 
322
- var strStartsWith = _unwrapFunctionWithPoly("startsWith", StrProto, polyStrStartsWith);
323
- function polyStrStartsWith(value, searchString, position) {
324
- if (!isString(value)) {
325
- throwTypeError("'" + dumpObj(value) + "' is not a string");
326
- }
327
- var searchValue = isString(searchString) ? searchString : asString(searchString);
328
- var chkLen = searchValue[LENGTH];
329
- var pos = position > 0 ? position : 0;
330
- return strSubstring(value, pos, pos + chkLen) === searchValue;
331
- }
332
-
333
334
  var UNIQUE_REGISTRY_ID = "_urid";
334
335
  var _polySymbols;
336
+ /*#__NO_SIDE_EFFECTS__*/
335
337
  function _globalSymbolRegistry() {
336
338
  if (!_polySymbols) {
337
339
  var gblCfg = _getGlobalConfig();
@@ -339,7 +341,8 @@ function _globalSymbolRegistry() {
339
341
  }
340
342
  return _polySymbols;
341
343
  }
342
- var _wellKnownSymbolCache = {};
344
+ var _wellKnownSymbolCache;
345
+ /*#__NO_SIDE_EFFECTS__*/
343
346
  function polyNewSymbol(description) {
344
347
  var theSymbol = {
345
348
  description: asString(description),
@@ -348,18 +351,21 @@ function polyNewSymbol(description) {
348
351
  theSymbol[POLYFILL_TAG] = true;
349
352
  return theSymbol;
350
353
  }
354
+ /*#__NO_SIDE_EFFECTS__*/
351
355
  function polySymbolFor(key) {
352
356
  var registry = _globalSymbolRegistry();
353
357
  if (!objHasOwn(registry.k, key)) {
354
358
  var newSymbol_1 = polyNewSymbol(key);
355
359
  var regId_1 = objKeys(registry.s).length;
356
- newSymbol_1[UNIQUE_REGISTRY_ID] = function () { return regId_1 + "_" + newSymbol_1.toString(); };
360
+ newSymbol_1[UNIQUE_REGISTRY_ID] = function () { return regId_1 + "_" + newSymbol_1[TO_STRING](); };
357
361
  registry.k[key] = newSymbol_1;
358
362
  registry.s[newSymbol_1[UNIQUE_REGISTRY_ID]()] = asString(key);
359
363
  }
360
364
  return registry.k[key];
361
365
  }
366
+ /*#__NO_SIDE_EFFECTS__*/
362
367
  function polyGetKnownSymbol(name) {
368
+ !_wellKnownSymbolCache && (_wellKnownSymbolCache = {});
363
369
  var result;
364
370
  var knownName = _wellKnownSymbolMap[name];
365
371
  if (knownName) {
@@ -371,11 +377,12 @@ function polyGetKnownSymbol(name) {
371
377
  var propMap = {
372
378
  e: "enumerable",
373
379
  c: "configurable",
374
- v: VALUE,
380
+ v: "value",
375
381
  w: "writable",
376
382
  g: "get",
377
383
  s: "set"
378
384
  };
385
+ /*#__NO_SIDE_EFFECTS__*/
379
386
  function _createProp(value) {
380
387
  var prop = {};
381
388
  prop[propMap["c"]] = true;
@@ -413,13 +420,13 @@ function objDefine(target, key, propDesc) {
413
420
  }
414
421
 
415
422
  var _globalLazyTestHooks;
416
- var _fetchLazyTestHooks = function () {
423
+ function _initTestHooks() {
417
424
  _globalLazyTestHooks = _getGlobalConfig();
418
- _fetchLazyTestHooks = NULL_VALUE;
419
- };
425
+ }
426
+ /*#__NO_SIDE_EFFECTS__*/
420
427
  function getLazy(cb) {
421
428
  var lazyValue = {};
422
- _fetchLazyTestHooks && _fetchLazyTestHooks();
429
+ !_globalLazyTestHooks && _initTestHooks();
423
430
  lazyValue.b = _globalLazyTestHooks.lzy;
424
431
  objDefineProp(lazyValue, "v", {
425
432
  configurable: true,
@@ -429,105 +436,127 @@ function getLazy(cb) {
429
436
  objDefineProp(lazyValue, "v", {
430
437
  value: result
431
438
  });
432
- if (lazyValue.b) {
433
- delete lazyValue.b;
434
- }
435
- }
436
- if (_globalLazyTestHooks.lzy && lazyValue.b !== _globalLazyTestHooks.lzy) {
437
- lazyValue.b = _globalLazyTestHooks.lzy;
438
439
  }
440
+ lazyValue.b = _globalLazyTestHooks.lzy;
439
441
  return result;
440
442
  }
441
443
  });
442
444
  return lazyValue;
443
445
  }
444
446
 
447
+ /*#__NO_SIDE_EFFECTS__*/
445
448
  function safeGetLazy(cb, defValue) {
446
- return getLazy(function () { return safeGet(cb, defValue); });
449
+ return getLazy(function () {
450
+ var result = safe(cb);
451
+ return result.e ? defValue : result.v;
452
+ });
453
+ }
454
+
455
+ /*#__NO_SIDE_EFFECTS__*/
456
+ function createCachedValue(value) {
457
+ return objDefineProp({
458
+ toJSON: function () { return value; }
459
+ }, "v", { value: value });
447
460
  }
448
461
 
449
462
  var WINDOW = "window";
450
463
  var _cachedGlobal;
451
- var _cachedWindow;
452
- var _cachedDocument;
453
- var _cachedNavigator;
454
- var _cachedHistory;
455
- var _isNode;
456
- var lazySafeGetInst = function (name) { return safeGetLazy(function () { return getInst(name) || UNDEF_VALUE; }, UNDEF_VALUE); };
457
- var getGlobal = function (useCached) {
458
- (!_cachedGlobal || useCached === false || (_globalLazyTestHooks && _globalLazyTestHooks.lzy && !_cachedGlobal.b)) && (_cachedGlobal = safeGetLazy(_getGlobalValue, NULL_VALUE));
464
+ function _getGlobalInstFn(getFn, theArgs) {
465
+ var cachedValue;
466
+ return function () {
467
+ !_globalLazyTestHooks && _initTestHooks();
468
+ (!cachedValue || _globalLazyTestHooks.lzy) && (cachedValue = createCachedValue(safe(getFn, theArgs).v));
469
+ return cachedValue.v;
470
+ };
471
+ }
472
+ /*#__NO_SIDE_EFFECTS__*/
473
+ function lazySafeGetInst(name) {
474
+ return getLazy(function () { return safe((getInst), [name]).v || UNDEF_VALUE; });
475
+ }
476
+ /*#__NO_SIDE_EFFECTS__*/
477
+ function getGlobal(useCached) {
478
+ !_globalLazyTestHooks && _initTestHooks();
479
+ (!_cachedGlobal || useCached === false || _globalLazyTestHooks.lzy) && (_cachedGlobal = createCachedValue(safe(_getGlobalValue).v || NULL_VALUE));
459
480
  return _cachedGlobal.v;
460
- };
461
- var getInst = function (name, useCached) {
481
+ }
482
+ /*#__NO_SIDE_EFFECTS__*/
483
+ function getInst(name, useCached) {
462
484
  var gbl = (!_cachedGlobal || useCached === false) ? getGlobal(useCached) : _cachedGlobal.v;
463
485
  if (gbl && gbl[name]) {
464
486
  return gbl[name];
465
487
  }
466
- if (name === WINDOW && _cachedWindow) {
467
- return _cachedWindow.v;
488
+ if (name === WINDOW) {
489
+ return getWindow();
468
490
  }
469
491
  return NULL_VALUE;
470
- };
471
- var hasDocument = function () { return !!getDocument(); };
472
- var getDocument = function () {
473
- (!_cachedDocument || (_globalLazyTestHooks && _globalLazyTestHooks.lzy && !_cachedDocument.b)) && (_cachedDocument = lazySafeGetInst("document"));
474
- return _cachedDocument.v;
475
- };
476
- var hasWindow = function () { return !!getWindow(); };
477
- var getWindow = function () {
478
- (!_cachedWindow || (_globalLazyTestHooks && _globalLazyTestHooks.lzy && !_cachedWindow.b)) && (_cachedWindow = lazySafeGetInst(WINDOW));
479
- return _cachedWindow.v;
480
- };
481
- var hasNavigator = function () { return !!getNavigator(); };
482
- var getNavigator = function () {
483
- (!_cachedNavigator || (_globalLazyTestHooks && _globalLazyTestHooks.lzy && !_cachedNavigator.b)) && (_cachedNavigator = lazySafeGetInst("navigator"));
484
- return _cachedNavigator.v;
485
- };
486
- var hasHistory = function () { return !!getHistory(); };
487
- var getHistory = function () {
488
- (!_cachedHistory || (_globalLazyTestHooks && _globalLazyTestHooks.lzy && !_cachedHistory.b)) && (_cachedHistory = lazySafeGetInst("history"));
489
- return _cachedHistory.v;
490
- };
491
- var isNode = function () {
492
- !_isNode && (_isNode = safeGetLazy(function () { return !!(process && (process.versions || {}).node); }, false));
493
- return _isNode.v;
494
- };
492
+ }
493
+ /*#__NO_SIDE_EFFECTS__*/
494
+ function hasDocument() {
495
+ return !!getDocument();
496
+ }
497
+ var getDocument = ( /*#__PURE__*/_getGlobalInstFn(getInst, ["document"]));
498
+ /*#__NO_SIDE_EFFECTS__*/
499
+ function hasWindow() {
500
+ return !!getWindow();
501
+ }
502
+ var getWindow = ( /*#__PURE__*/_getGlobalInstFn(getInst, [WINDOW]));
503
+ /*#__NO_SIDE_EFFECTS__*/
504
+ function hasNavigator() {
505
+ return !!getNavigator();
506
+ }
507
+ var getNavigator = ( /*#__PURE__*/_getGlobalInstFn(getInst, ["navigator"]));
508
+ /*#__NO_SIDE_EFFECTS__*/
509
+ function hasHistory() {
510
+ return !!getHistory();
511
+ }
512
+ var getHistory = ( /*#__PURE__*/_getGlobalInstFn(getInst, ["history"]));
513
+ var isNode = ( /*#__PURE__*/_getGlobalInstFn(function () {
514
+ return !!safe(function () { return (process && (process.versions || {}).node); }).v;
515
+ }));
495
516
 
496
517
  var _symbol;
497
518
  var _symbolFor;
498
- var _symbolKeyFor;
499
- function _getSymbolValue(name) {
500
- return safeGetLazy(function () {
501
- return (_symbol.v ? _symbol.v[name] : UNDEF_VALUE);
502
- }, UNDEF_VALUE);
519
+ function _initSymbol() {
520
+ if (!_symbol || !_symbol.b) {
521
+ _symbol = lazySafeGetInst(SYMBOL);
522
+ _symbolFor = safeGetLazy(function () { return (_symbol.v ? _symbol.v["for"] : UNDEF_VALUE); }, UNDEF_VALUE);
523
+ }
503
524
  }
525
+ /*#__NO_SIDE_EFFECTS__*/
504
526
  function hasSymbol() {
505
527
  return !!getSymbol();
506
528
  }
529
+ /*#__NO_SIDE_EFFECTS__*/
507
530
  function getSymbol() {
508
- var resetCache = !_symbol || (_globalLazyTestHooks && _globalLazyTestHooks.lzy && !_symbol.b);
509
- resetCache && (_symbol = lazySafeGetInst(SYMBOL));
510
- (!_symbolFor || resetCache) && (_symbolFor = _getSymbolValue("for"));
511
- (!_symbolKeyFor || resetCache) && (_symbolKeyFor = _getSymbolValue("keyFor"));
531
+ !_globalLazyTestHooks && _initTestHooks();
532
+ (!_symbol || _globalLazyTestHooks.lzy) && _initSymbol();
512
533
  return _symbol.v;
513
534
  }
535
+ /*#__NO_SIDE_EFFECTS__*/
514
536
  function getKnownSymbol(name, noPoly) {
515
537
  var knownName = _wellKnownSymbolMap[name];
516
- (!_symbol || (_globalLazyTestHooks.lzy && !_symbol.b)) && getSymbol();
538
+ !_globalLazyTestHooks && _initTestHooks();
539
+ (!_symbol || _globalLazyTestHooks.lzy) && _initSymbol();
517
540
  return _symbol.v ? _symbol.v[knownName || name] : (!noPoly ? polyGetKnownSymbol(name) : UNDEF_VALUE);
518
541
  }
542
+ /*#__NO_SIDE_EFFECTS__*/
519
543
  function newSymbol(description, noPoly) {
520
- (!_symbol || (_globalLazyTestHooks.lzy && !_symbol.b)) && getSymbol();
544
+ !_globalLazyTestHooks && _initTestHooks();
545
+ (!_symbol || _globalLazyTestHooks.lzy) && _initSymbol();
521
546
  return _symbol.v ? _symbol.v(description) : (!noPoly ? polyNewSymbol(description) : NULL_VALUE);
522
547
  }
548
+ /*#__NO_SIDE_EFFECTS__*/
523
549
  function symbolFor(key) {
524
- (!_symbolFor || (_globalLazyTestHooks.lzy && !_symbol.b)) && getSymbol();
550
+ !_globalLazyTestHooks && _initTestHooks();
551
+ (!_symbolFor || !_symbol || _globalLazyTestHooks.lzy) && _initSymbol();
525
552
  return (_symbolFor.v || polySymbolFor)(key);
526
553
  }
527
554
 
555
+ /*#__NO_SIDE_EFFECTS__*/
528
556
  function isIterator(value) {
529
557
  return !!value && isFunction(value.next);
530
558
  }
559
+ /*#__NO_SIDE_EFFECTS__*/
531
560
  function isIterable(value) {
532
561
  return !isStrictNullOrUndefined(value) && isFunction(value[getKnownSymbol(3 )]);
533
562
  }
@@ -536,7 +565,7 @@ var _iterSymbol;
536
565
  function iterForOf(iter, callbackfn, thisArg) {
537
566
  if (iter) {
538
567
  if (!isIterator(iter)) {
539
- !_iterSymbol && (_iterSymbol = getLazy(function () { return getKnownSymbol(3 ); }));
568
+ !_iterSymbol && (_iterSymbol = createCachedValue(getKnownSymbol(3 )));
540
569
  iter = iter[_iterSymbol.v] ? iter[_iterSymbol.v]() : null;
541
570
  }
542
571
  if (isIterator(iter)) {
@@ -544,8 +573,8 @@ function iterForOf(iter, callbackfn, thisArg) {
544
573
  var iterResult = void 0;
545
574
  try {
546
575
  var count = 0;
547
- while (!(iterResult = iter.next())[DONE]) {
548
- if (callbackfn.call(thisArg || iter, iterResult[VALUE], count, iter) === -1) {
576
+ while (!(iterResult = iter.next()).done) {
577
+ if (callbackfn[CALL](thisArg || iter, iterResult.value, count, iter) === -1) {
549
578
  break;
550
579
  }
551
580
  count++;
@@ -560,7 +589,7 @@ function iterForOf(iter, callbackfn, thisArg) {
560
589
  }
561
590
  finally {
562
591
  try {
563
- if (iterResult && !iterResult[DONE]) {
592
+ if (iterResult && !iterResult.done) {
564
593
  iter.return && iter.return(iterResult);
565
594
  }
566
595
  }
@@ -574,7 +603,9 @@ function iterForOf(iter, callbackfn, thisArg) {
574
603
  }
575
604
  }
576
605
 
577
- var fnApply = _unwrapInstFunction("apply");
606
+ function fnApply(fn, thisArg, argArray) {
607
+ return fn.apply(thisArg, argArray);
608
+ }
578
609
 
579
610
  function arrAppend(target, elms) {
580
611
  if (!isUndefined(elms) && target) {
@@ -598,7 +629,7 @@ function arrForEach(theArray, callbackfn, thisArg) {
598
629
  var len = theArray[LENGTH] >>> 0;
599
630
  for (var idx = 0; idx < len; idx++) {
600
631
  if (idx in theArray) {
601
- if (callbackfn.call(thisArg || theArray, theArray[idx], idx, theArray) === -1) {
632
+ if (callbackfn[CALL](thisArg || theArray, theArray[idx], idx, theArray) === -1) {
602
633
  break;
603
634
  }
604
635
  }
@@ -606,31 +637,32 @@ function arrForEach(theArray, callbackfn, thisArg) {
606
637
  }
607
638
  }
608
639
 
609
- var arrIndexOf = _unwrapFunction(INDEX_OF, ArrProto);
640
+ var arrIndexOf = ( /*#__PURE__*/_unwrapFunction("indexOf", ArrProto));
610
641
 
611
- var arrMap = _unwrapFunction("map", ArrProto);
642
+ var arrMap = ( /*#__PURE__*/_unwrapFunction("map", ArrProto));
612
643
 
613
- var arrSlice = _unwrapFunction(SLICE, ArrProto);
614
-
615
- var fnCall = _unwrapInstFunction("call");
644
+ function arrSlice(theArray, start, end) {
645
+ return ((theArray && theArray["slice"]) || ArrSlice).apply(theArray, ArrSlice[CALL](arguments, 1));
646
+ }
616
647
 
648
+ /*#__NO_SIDE_EFFECTS__*/
617
649
  function polyArrIncludes(theArray, searchElement, fromIndex) {
618
650
  return arrIndexOf(theArray, searchElement, fromIndex) !== -1;
619
651
  }
620
652
 
621
- var arrIncludes = _unwrapFunctionWithPoly("includes", ArrProto, polyArrIncludes);
653
+ var arrIncludes = ( /*#__PURE__*/_unwrapFunctionWithPoly("includes", ArrProto, polyArrIncludes));
622
654
 
623
- var arrReduce = _unwrapFunction("reduce", ArrProto);
655
+ var arrReduce = ( /*#__PURE__*/_unwrapFunction("reduce", ArrProto));
624
656
 
625
- var _objCreate = ObjClass["create"];
626
- var objCreate = _objCreate || polyObjCreate;
657
+ var objCreate = ObjClass["create"] || polyObjCreate;
658
+ /*#__NO_SIDE_EFFECTS__*/
627
659
  function polyObjCreate(obj) {
628
660
  if (!obj) {
629
661
  return {};
630
662
  }
631
663
  var type = typeof obj;
632
664
  if (type !== OBJECT && type !== FUNCTION) {
633
- throw new TypeError("Prototype must be an Object or function: " + dumpObj(obj));
665
+ throwTypeError("Prototype must be an Object or function: " + dumpObj(obj));
634
666
  }
635
667
  function tempFunc() { }
636
668
  tempFunc[PROTOTYPE] = obj;
@@ -650,39 +682,31 @@ function objSetPrototypeOf(obj, proto) {
650
682
  return fn(obj, proto);
651
683
  }
652
684
 
653
- var _createCustomError = function (name, d, b) {
654
- _safeDefineName(d, name);
685
+ /*#__NO_SIDE_EFFECTS__*/
686
+ function _createCustomError(name, d, b) {
687
+ safe(objDefine, [d, NAME, { v: name, c: true, e: false }]);
655
688
  d = objSetPrototypeOf(d, b);
656
689
  function __() {
657
690
  this.constructor = d;
658
- _safeDefineName(this, name);
691
+ safe(objDefine, [this, NAME, { v: name, c: true, e: false }]);
659
692
  }
660
693
  d[PROTOTYPE] = b === NULL_VALUE ? objCreate(b) : (__[PROTOTYPE] = b[PROTOTYPE], new __());
661
694
  return d;
662
- };
663
- var _safeSetName = function (baseClass, name) {
664
- try {
665
- name && (baseClass[NAME] = name);
666
- }
667
- catch (e) {
668
- }
669
- };
670
- var _safeDefineName = function (target, name) {
671
- try {
672
- objDefine(target, NAME, { v: name, c: true, e: false });
673
- }
674
- catch (e) {
675
- }
676
- };
695
+ }
696
+ function _setName(baseClass, name) {
697
+ name && (baseClass[NAME] = name);
698
+ }
699
+ /*#__NO_SIDE_EFFECTS__*/
677
700
  function createCustomError(name, constructCb, errorBase) {
678
701
  var theBaseClass = errorBase || Error;
679
702
  var orgName = theBaseClass[PROTOTYPE][NAME];
680
703
  var captureFn = Error.captureStackTrace;
681
704
  return _createCustomError(name, function () {
682
705
  var _this = this;
706
+ var theArgs = arguments;
683
707
  try {
684
- _safeSetName(theBaseClass, name);
685
- var _self = fnApply(theBaseClass, _this, arrSlice(arguments)) || _this;
708
+ safe(_setName, [theBaseClass, name]);
709
+ var _self = fnApply(theBaseClass, _this, ArrSlice[CALL](theArgs)) || _this;
686
710
  if (_self !== _this) {
687
711
  var orgProto = objGetPrototypeOf(_this);
688
712
  if (orgProto !== objGetPrototypeOf(_self)) {
@@ -690,22 +714,25 @@ function createCustomError(name, constructCb, errorBase) {
690
714
  }
691
715
  }
692
716
  captureFn && captureFn(_self, _this[CONSTRUCTOR]);
693
- constructCb && constructCb(_self, arguments);
717
+ constructCb && constructCb(_self, theArgs);
694
718
  return _self;
695
719
  }
696
720
  finally {
697
- _safeSetName(theBaseClass, orgName);
721
+ safe(_setName, [theBaseClass, orgName]);
698
722
  }
699
723
  }, theBaseClass);
700
724
  }
701
725
 
726
+ /*#__NO_SIDE_EFFECTS__*/
702
727
  function utcNow() {
703
728
  return (Date.now || polyUtcNow)();
704
729
  }
730
+ /*#__NO_SIDE_EFFECTS__*/
705
731
  function polyUtcNow() {
706
732
  return new Date().getTime();
707
733
  }
708
734
 
735
+ /*#__NO_SIDE_EFFECTS__*/
709
736
  function _createTrimFn(exp) {
710
737
  return function _doTrim(value) {
711
738
  if (isNullOrUndefined(value)) {
@@ -717,13 +744,14 @@ function _createTrimFn(exp) {
717
744
  return value;
718
745
  };
719
746
  }
720
- var polyStrTrim = _createTrimFn(/^\s+|(?=\s)\s+$/g);
747
+ var polyStrTrim = ( /*#__PURE__*/_createTrimFn(/^\s+|(?=\s)\s+$/g));
721
748
 
722
- var strTrim = _unwrapFunctionWithPoly("trim", StrProto, polyStrTrim);
749
+ var strTrim = ( /*#__PURE__*/_unwrapFunctionWithPoly("trim", StrProto, polyStrTrim));
723
750
 
724
751
  var _fnToString;
725
752
  var _objCtrFnString;
726
753
  var _gblWindow;
754
+ /*#__NO_SIDE_EFFECTS__*/
727
755
  function isPlainObject(value) {
728
756
  if (!value || typeof value !== OBJECT) {
729
757
  return false;
@@ -734,8 +762,8 @@ function isPlainObject(value) {
734
762
  var result = false;
735
763
  if (value !== _gblWindow) {
736
764
  if (!_objCtrFnString) {
737
- _fnToString = Function[PROTOTYPE].toString;
738
- _objCtrFnString = fnCall(_fnToString, ObjClass);
765
+ _fnToString = Function[PROTOTYPE][TO_STRING];
766
+ _objCtrFnString = _fnToString[CALL](ObjClass);
739
767
  }
740
768
  try {
741
769
  var proto = objGetPrototypeOf(value);
@@ -744,7 +772,7 @@ function isPlainObject(value) {
744
772
  if (objHasOwnProperty(proto, CONSTRUCTOR)) {
745
773
  proto = proto[CONSTRUCTOR];
746
774
  }
747
- result = proto && typeof proto === FUNCTION && _fnToString.call(proto) === _objCtrFnString;
775
+ result = proto && typeof proto === FUNCTION && _fnToString[CALL](proto) === _objCtrFnString;
748
776
  }
749
777
  }
750
778
  catch (ex) {
@@ -753,16 +781,18 @@ function isPlainObject(value) {
753
781
  return result;
754
782
  }
755
783
 
756
- var _defaultDeepCopyHandler = function (details) {
784
+ /*#__NO_SIDE_EFFECTS__*/
785
+ function _defaultDeepCopyHandler(details) {
757
786
  details.value && plainObjDeepCopyHandler(details);
758
787
  return true;
759
- };
788
+ }
760
789
  var defaultDeepCopyHandlers = [
761
790
  arrayDeepCopyHandler,
762
791
  plainObjDeepCopyHandler,
763
792
  functionDeepCopyHandler,
764
793
  dateDeepCopyHandler
765
794
  ];
795
+ /*#__NO_SIDE_EFFECTS__*/
766
796
  function _getSetVisited(visitMap, source, newPath, cb) {
767
797
  var theEntry;
768
798
  arrForEach(visitMap, function (entry) {
@@ -822,12 +852,12 @@ function _deepCopy(visitMap, value, ctx, key) {
822
852
  });
823
853
  var idx = 0;
824
854
  var handler = userHandler;
825
- while (!fnCall(handler || (idx < defaultDeepCopyHandlers.length ? defaultDeepCopyHandlers[idx++] : _defaultDeepCopyHandler), ctx, details)) {
855
+ while (!(handler || (idx < defaultDeepCopyHandlers.length ? defaultDeepCopyHandlers[idx++] : _defaultDeepCopyHandler))[CALL](ctx, details)) {
826
856
  handler = NULL_VALUE;
827
857
  }
828
858
  });
829
859
  }
830
- if (userHandler && fnCall(userHandler, ctx, details)) {
860
+ if (userHandler && userHandler[CALL](ctx, details)) {
831
861
  return details.result;
832
862
  }
833
863
  return value;
@@ -848,6 +878,7 @@ function objCopyProps(target, source, handler) {
848
878
  };
849
879
  return _copyProps([], target, source, ctx);
850
880
  }
881
+ /*#__NO_SIDE_EFFECTS__*/
851
882
  function objDeepCopy(source, handler) {
852
883
  var ctx = {
853
884
  handler: handler,
@@ -896,16 +927,19 @@ function _doExtend(target, theArgs) {
896
927
  return target;
897
928
  }
898
929
  function deepExtend(target, obj1, obj2, obj3, obj4, obj5, obj6) {
899
- return _doExtend(objDeepCopy(target) || {}, arrSlice(arguments));
930
+ return _doExtend(objDeepCopy(target) || {}, ArrSlice[CALL](arguments));
900
931
  }
901
932
 
902
- var getLength = _unwrapProp(LENGTH);
933
+ var getLength = ( /*#__PURE__*/_unwrapProp(LENGTH));
903
934
 
904
935
  var _perf;
936
+ /*#__NO_SIDE_EFFECTS__*/
905
937
  function getPerformance() {
906
- (!_perf || (!_perf.b && _globalLazyTestHooks && _globalLazyTestHooks.lzy)) && (_perf = lazySafeGetInst("performance"));
938
+ !_globalLazyTestHooks && _initTestHooks();
939
+ (!_perf || (!_perf.b && _globalLazyTestHooks.lzy)) && (_perf = lazySafeGetInst("performance"));
907
940
  return _perf.v;
908
941
  }
942
+ /*#__NO_SIDE_EFFECTS__*/
909
943
  function perfNow() {
910
944
  var perf = getPerformance();
911
945
  if (perf && perf.now) {
@@ -914,70 +948,76 @@ function perfNow() {
914
948
  return utcNow();
915
949
  }
916
950
 
917
- var strEndsWith = _unwrapFunctionWithPoly("endsWith", StrProto, polyStrEndsWith);
951
+ var strEndsWith = ( /*#__PURE__*/_unwrapFunctionWithPoly("endsWith", StrProto, polyStrEndsWith));
952
+ /*#__NO_SIDE_EFFECTS__*/
918
953
  function polyStrEndsWith(value, searchString, length) {
919
954
  if (!isString(value)) {
920
955
  throwTypeError("'" + dumpObj(value) + "' is not a string");
921
956
  }
922
957
  var searchValue = isString(searchString) ? searchString : asString(searchString);
923
- var chkLen = searchValue[LENGTH];
924
- var len = value[LENGTH];
925
- var end = !isUndefined(length) && length < len ? length : len;
926
- return strSubstring(value, end - chkLen, end) === searchValue;
958
+ var end = !isUndefined(length) && length < value[LENGTH] ? length : value[LENGTH];
959
+ return strSubstring(value, end - searchValue[LENGTH], end) === searchValue;
927
960
  }
928
961
 
929
- var strIndexOf = _unwrapFunction(INDEX_OF, StrProto);
962
+ var strIndexOf = ( /*#__PURE__*/_unwrapFunction("indexOf", StrProto));
963
+
964
+ var strStartsWith = ( /*#__PURE__*/_unwrapFunctionWithPoly("startsWith", StrProto, polyStrStartsWith));
965
+ /*#__NO_SIDE_EFFECTS__*/
966
+ function polyStrStartsWith(value, searchString, position) {
967
+ if (!isString(value)) {
968
+ throwTypeError("'" + dumpObj(value) + "' is not a string");
969
+ }
970
+ var searchValue = isString(searchString) ? searchString : asString(searchString);
971
+ var pos = position > 0 ? position : 0;
972
+ return strSubstring(value, pos, pos + searchValue[LENGTH]) === searchValue;
973
+ }
930
974
 
931
975
  var REF = "ref";
932
- var UNREF = "un" + REF;
976
+ var UNREF = "unref";
933
977
  var HAS_REF = "hasRef";
934
978
  var ENABLED = "enabled";
979
+ /*#__NO_SIDE_EFFECTS__*/
935
980
  function _createTimerHandler(startTimer, refreshFn, cancelFn) {
936
- var _a;
937
981
  var ref = true;
938
982
  var timerId = startTimer ? refreshFn(NULL_VALUE) : NULL_VALUE;
939
983
  var theTimerHandler;
940
- var _unref = function () {
984
+ function _unref() {
941
985
  ref = false;
942
986
  timerId && timerId[UNREF] && timerId[UNREF]();
943
987
  return theTimerHandler;
944
- };
945
- var _ref = function () {
946
- ref = true;
947
- timerId && timerId[REF] && timerId[REF]();
988
+ }
989
+ function _cancel() {
990
+ timerId && cancelFn(timerId);
991
+ timerId = NULL_VALUE;
992
+ }
993
+ function _refresh() {
994
+ timerId = refreshFn(timerId);
995
+ if (!ref) {
996
+ _unref();
997
+ }
948
998
  return theTimerHandler;
999
+ }
1000
+ function _setEnabled(value) {
1001
+ !value && timerId && _cancel();
1002
+ value && !timerId && _refresh();
1003
+ }
1004
+ theTimerHandler = {
1005
+ cancel: _cancel,
1006
+ refresh: _refresh
949
1007
  };
950
- var _hasRef = function () {
1008
+ theTimerHandler[HAS_REF] = function () {
951
1009
  if (timerId && timerId[HAS_REF]) {
952
1010
  return timerId[HAS_REF]();
953
1011
  }
954
1012
  return ref;
955
1013
  };
956
- var _refresh = function () {
957
- timerId = refreshFn(timerId);
958
- if (!ref) {
959
- _unref();
960
- }
1014
+ theTimerHandler[REF] = function () {
1015
+ ref = true;
1016
+ timerId && timerId[REF] && timerId[REF]();
961
1017
  return theTimerHandler;
962
1018
  };
963
- var _cancel = function () {
964
- timerId && cancelFn(timerId);
965
- timerId = NULL_VALUE;
966
- };
967
- var _setEnabled = function (value) {
968
- !value && timerId && _cancel();
969
- value && !timerId && _refresh();
970
- };
971
- theTimerHandler = (_a = {
972
- cancel: _cancel,
973
- refresh: _refresh
974
- },
975
- _a[HAS_REF] = _hasRef,
976
- _a[REF] = _ref,
977
- _a[UNREF] = _unref,
978
- _a[ENABLED] = false,
979
- _a);
980
- objDefineProp(theTimerHandler, ENABLED, {
1019
+ theTimerHandler[UNREF] = _unref;
1020
+ theTimerHandler = objDefineProp(theTimerHandler, ENABLED, {
981
1021
  get: function () { return !!timerId; },
982
1022
  set: _setEnabled
983
1023
  });
@@ -989,7 +1029,7 @@ function _createTimerHandler(startTimer, refreshFn, cancelFn) {
989
1029
  };
990
1030
  }
991
1031
 
992
- function _createTimeoutWith(self, startTimer, overrideFn, theArgs) {
1032
+ function _createTimeoutWith(startTimer, overrideFn, theArgs) {
993
1033
  var isArr = isArray(overrideFn);
994
1034
  var len = isArr ? overrideFn.length : 0;
995
1035
  var setFn = (len > 0 ? overrideFn[0] : (!isArr ? overrideFn : UNDEF_VALUE)) || setTimeout;
@@ -997,7 +1037,7 @@ function _createTimeoutWith(self, startTimer, overrideFn, theArgs) {
997
1037
  var timerFn = theArgs[0];
998
1038
  theArgs[0] = function () {
999
1039
  handler.dn();
1000
- fnApply(timerFn, self, arrSlice(arguments));
1040
+ fnApply(timerFn, UNDEF_VALUE, ArrSlice[CALL](arguments));
1001
1041
  };
1002
1042
  var handler = _createTimerHandler(startTimer, function (timerId) {
1003
1043
  if (timerId) {
@@ -1005,23 +1045,21 @@ function _createTimeoutWith(self, startTimer, overrideFn, theArgs) {
1005
1045
  timerId.refresh();
1006
1046
  return timerId;
1007
1047
  }
1008
- fnApply(clearFn, self, [timerId]);
1048
+ fnApply(clearFn, UNDEF_VALUE, [timerId]);
1009
1049
  }
1010
- return fnApply(setFn, self, theArgs);
1050
+ return fnApply(setFn, UNDEF_VALUE, theArgs);
1011
1051
  }, function (timerId) {
1012
- fnApply(clearFn, self, [timerId]);
1052
+ fnApply(clearFn, UNDEF_VALUE, [timerId]);
1013
1053
  });
1014
1054
  return handler.h;
1015
1055
  }
1016
1056
  function scheduleTimeout(callback, timeout) {
1017
- return _createTimeoutWith(this, true, UNDEF_VALUE, arrSlice(arguments));
1057
+ return _createTimeoutWith(true, UNDEF_VALUE, ArrSlice[CALL](arguments));
1018
1058
  }
1019
1059
  function createTimeout(callback, timeout) {
1020
- return _createTimeoutWith(this, false, UNDEF_VALUE, arrSlice(arguments));
1060
+ return _createTimeoutWith(false, UNDEF_VALUE, ArrSlice[CALL](arguments));
1021
1061
  }
1022
1062
 
1023
- (getGlobal() || {})["Symbol"];
1024
- (getGlobal() || {})["Reflect"];
1025
1063
  var strHasOwnProperty = "hasOwnProperty";
1026
1064
  var extendStaticsFn = function (d, b) {
1027
1065
  extendStaticsFn = ObjClass$1["setPrototypeOf"] ||
@@ -1124,13 +1162,13 @@ function _forEachProp(target, func) {
1124
1162
  }
1125
1163
  }
1126
1164
  function _isDynamicCandidate(target, funcName, skipOwn) {
1127
- return (funcName !== Constructor && typeof target[funcName] === strFunction && (skipOwn || objHasOwnProperty(target, funcName)));
1165
+ return (funcName !== Constructor && typeof target[funcName] === strFunction && (skipOwn || objHasOwnProperty(target, funcName)) && funcName !== str__Proto && funcName !== Prototype);
1128
1166
  }
1129
1167
  function _throwTypeError(message) {
1130
1168
  throwTypeError("DynamicProto: " + message);
1131
1169
  }
1132
1170
  function _getInstanceFuncs(thisTarget) {
1133
- var instFuncs = {};
1171
+ var instFuncs = objCreate(null);
1134
1172
  _forEachProp(thisTarget, function (name) {
1135
1173
  if (!instFuncs[name] && _isDynamicCandidate(thisTarget, name, false)) {
1136
1174
  instFuncs[name] = thisTarget[name];
@@ -1159,7 +1197,7 @@ function _getBaseFuncs(classProto, thisTarget, instFuncs, useBaseInst) {
1159
1197
  return theFunc.apply(target, arguments);
1160
1198
  };
1161
1199
  }
1162
- var baseFuncs = {};
1200
+ var baseFuncs = objCreate(null);
1163
1201
  _forEachProp(instFuncs, function (name) {
1164
1202
  baseFuncs[name] = _instFuncProxy(thisTarget, instFuncs, name);
1165
1203
  });
@@ -1179,8 +1217,8 @@ function _getBaseFuncs(classProto, thisTarget, instFuncs, useBaseInst) {
1179
1217
  function _getInstFunc(target, funcName, proto, currentDynProtoProxy) {
1180
1218
  var instFunc = null;
1181
1219
  if (target && objHasOwnProperty(proto, DynClassName)) {
1182
- var instFuncTable = target[DynInstFuncTable] || {};
1183
- instFunc = (instFuncTable[proto[DynClassName]] || {})[funcName];
1220
+ var instFuncTable = target[DynInstFuncTable] || objCreate(null);
1221
+ instFunc = (instFuncTable[proto[DynClassName]] || objCreate(null))[funcName];
1184
1222
  if (!instFunc) {
1185
1223
  _throwTypeError("Missing [" + funcName + "] " + strFunction);
1186
1224
  }
@@ -1230,20 +1268,24 @@ function _populatePrototype(proto, className, target, baseInstFuncs, setInstance
1230
1268
  return dynProtoProxy;
1231
1269
  }
1232
1270
  if (!_isObjectOrArrayPrototype(proto)) {
1233
- var instFuncTable = target[DynInstFuncTable] = target[DynInstFuncTable] || {};
1234
- var instFuncs_1 = instFuncTable[className] = (instFuncTable[className] || {});
1235
- if (instFuncTable[DynAllowInstChkTag] !== false) {
1236
- instFuncTable[DynAllowInstChkTag] = !!setInstanceFunc;
1237
- }
1238
- _forEachProp(target, function (name) {
1239
- if (_isDynamicCandidate(target, name, false) && target[name] !== baseInstFuncs[name]) {
1240
- instFuncs_1[name] = target[name];
1241
- delete target[name];
1242
- if (!objHasOwnProperty(proto, name) || (proto[name] && !proto[name][DynProxyTag])) {
1243
- proto[name] = _createDynamicPrototype(proto, name);
1244
- }
1271
+ var instFuncTable = target[DynInstFuncTable] = target[DynInstFuncTable] || objCreate(null);
1272
+ if (!_isObjectOrArrayPrototype(instFuncTable)) {
1273
+ var instFuncs_1 = instFuncTable[className] = (instFuncTable[className] || objCreate(null));
1274
+ if (instFuncTable[DynAllowInstChkTag] !== false) {
1275
+ instFuncTable[DynAllowInstChkTag] = !!setInstanceFunc;
1276
+ }
1277
+ if (!_isObjectOrArrayPrototype(instFuncs_1)) {
1278
+ _forEachProp(target, function (name) {
1279
+ if (_isDynamicCandidate(target, name, false) && target[name] !== baseInstFuncs[name]) {
1280
+ instFuncs_1[name] = target[name];
1281
+ delete target[name];
1282
+ if (!objHasOwnProperty(proto, name) || (proto[name] && !proto[name][DynProxyTag])) {
1283
+ proto[name] = _createDynamicPrototype(proto, name);
1284
+ }
1285
+ }
1286
+ });
1245
1287
  }
1246
- });
1288
+ }
1247
1289
  }
1248
1290
  }
1249
1291
  function _checkPrototype(classProto, thisTarget) {
@@ -1330,16 +1372,16 @@ var _DYN_HDLR = "hdlr";
1330
1372
  var _DYN_CANCEL = "cancel";
1331
1373
  var _DYN_INITIALIZE$1 = "initialize";
1332
1374
  var _DYN_IDENTIFIER = "identifier";
1375
+ var _DYN_REMOVE_NOTIFICATION_0 = "removeNotificationListener";
1376
+ var _DYN_ADD_NOTIFICATION_LIS1 = "addNotificationListener";
1333
1377
  var _DYN_IS_INITIALIZED = "isInitialized";
1378
+ var _DYN_GET_NOTIFY_MGR = "getNotifyMgr";
1334
1379
  var _DYN_GET_PLUGIN = "getPlugin";
1335
1380
  var _DYN_POLL_INTERNAL_LOGS$1 = "pollInternalLogs";
1336
1381
  var _DYN_NAME = "name";
1337
1382
  var _DYN_TIME = "time";
1338
1383
  var _DYN_PROCESS_NEXT = "processNext";
1339
- var _DYN_GET_PROCESS_TEL_CONT0 = "getProcessTelContext";
1340
- var _DYN_GET_NOTIFY_MGR = "getNotifyMgr";
1341
- var _DYN_ADD_NOTIFICATION_LIS1 = "addNotificationListener";
1342
- var _DYN_REMOVE_NOTIFICATION_2 = "removeNotificationListener";
1384
+ var _DYN_GET_PROCESS_TEL_CONT2 = "getProcessTelContext";
1343
1385
  var _DYN_ENABLED = "enabled";
1344
1386
  var _DYN_STOP_POLLING_INTERNA3 = "stopPollingInternalLogs";
1345
1387
  var _DYN_UNLOAD = "unload";
@@ -1389,15 +1431,15 @@ function throwAggregationError(message, sourceErrors) {
1389
1431
 
1390
1432
  function doAwaitResponse(value, cb) {
1391
1433
  return doAwait(value, function (value) {
1392
- cb && cb({
1434
+ return cb ? cb({
1393
1435
  value: value,
1394
1436
  rejected: false
1395
- });
1437
+ }) : value;
1396
1438
  }, function (reason) {
1397
- cb && cb({
1439
+ return cb ? cb({
1398
1440
  rejected: true,
1399
1441
  reason: reason
1400
- });
1442
+ }) : reason;
1401
1443
  });
1402
1444
  }
1403
1445
  function doAwait(value, resolveFn, rejectFn, finallyFn) {
@@ -1408,10 +1450,12 @@ function doAwait(value, resolveFn, rejectFn, finallyFn) {
1408
1450
  }
1409
1451
  }
1410
1452
  else {
1411
- resolveFn && resolveFn(value);
1453
+ if (resolveFn) {
1454
+ result = resolveFn(value);
1455
+ }
1412
1456
  }
1413
1457
  if (finallyFn) {
1414
- result = doFinally(result, finallyFn);
1458
+ doFinally(result, finallyFn);
1415
1459
  }
1416
1460
  return result;
1417
1461
  }
@@ -2122,7 +2166,7 @@ function newId(maxLength) {
2122
2166
  return result;
2123
2167
  }
2124
2168
 
2125
- var version = '3.0.7-nightly3.2312-05';
2169
+ var version = '3.0.9';
2126
2170
  var instanceName = "." + newId(6);
2127
2171
  var _dataUid = 0;
2128
2172
  function _canAcceptData(target) {
@@ -2691,6 +2735,7 @@ function _createAndUseHandler(state, configHandler) {
2691
2735
  configHandler = null;
2692
2736
  }
2693
2737
  };
2738
+ objDefine(handler, "toJSON", { v: function () { return "WatcherHandler" + (handler.fn ? "" : "[X]"); } });
2694
2739
  state.use(handler, configHandler);
2695
2740
  return handler;
2696
2741
  }
@@ -3359,18 +3404,26 @@ function uaDisallowsSameSiteNone(userAgent) {
3359
3404
  var defaultValues$1 = {
3360
3405
  perfEvtsSendAll: false
3361
3406
  };
3362
- function _runListeners(listeners, name, isAsync, callback) {
3407
+ function _runScheduledListeners(asyncNotifications) {
3408
+ asyncNotifications.h = null;
3409
+ var callbacks = asyncNotifications.cb;
3410
+ asyncNotifications.cb = [];
3411
+ arrForEach(callbacks, function (cb) {
3412
+ safe(cb.fn, [cb.arg]);
3413
+ });
3414
+ }
3415
+ function _runListeners(listeners, name, asyncNotifications, callback) {
3363
3416
  arrForEach(listeners, function (listener) {
3364
3417
  if (listener && listener[name]) {
3365
- if (isAsync) {
3366
- scheduleTimeout(function () { return callback(listener); }, 0);
3418
+ if (asyncNotifications) {
3419
+ asyncNotifications.cb[_DYN_PUSH ]({
3420
+ fn: callback,
3421
+ arg: listener
3422
+ });
3423
+ asyncNotifications.h = asyncNotifications.h || scheduleTimeout(_runScheduledListeners, 0, asyncNotifications);
3367
3424
  }
3368
3425
  else {
3369
- try {
3370
- callback(listener);
3371
- }
3372
- catch (e) {
3373
- }
3426
+ safe(callback, [listener]);
3374
3427
  }
3375
3428
  }
3376
3429
  });
@@ -3381,6 +3434,10 @@ var NotificationManager = /** @class */ (function () {
3381
3434
  var perfEvtsSendAll;
3382
3435
  var unloadHandler;
3383
3436
  var _listeners = [];
3437
+ var _asyncNotifications = {
3438
+ h: null,
3439
+ cb: []
3440
+ };
3384
3441
  var cfgHandler = createDynamicConfig(config, defaultValues$1);
3385
3442
  unloadHandler = cfgHandler[_DYN_WATCH ](function (details) {
3386
3443
  perfEvtsSendAll = !!details.cfg.perfEvtsSendAll;
@@ -3392,7 +3449,7 @@ var NotificationManager = /** @class */ (function () {
3392
3449
  _self[_DYN_ADD_NOTIFICATION_LIS1 ] = function (listener) {
3393
3450
  _listeners[_DYN_PUSH ](listener);
3394
3451
  };
3395
- _self[_DYN_REMOVE_NOTIFICATION_2 ] = function (listener) {
3452
+ _self[_DYN_REMOVE_NOTIFICATION_0 ] = function (listener) {
3396
3453
  var index = arrIndexOf(_listeners, listener);
3397
3454
  while (index > -1) {
3398
3455
  _listeners[_DYN_SPLICE ](index, 1);
@@ -3400,24 +3457,24 @@ var NotificationManager = /** @class */ (function () {
3400
3457
  }
3401
3458
  };
3402
3459
  _self[STR_EVENTS_SENT ] = function (events) {
3403
- _runListeners(_listeners, STR_EVENTS_SENT, true, function (listener) {
3460
+ _runListeners(_listeners, STR_EVENTS_SENT, _asyncNotifications, function (listener) {
3404
3461
  listener[STR_EVENTS_SENT ](events);
3405
3462
  });
3406
3463
  };
3407
3464
  _self[STR_EVENTS_DISCARDED ] = function (events, reason) {
3408
- _runListeners(_listeners, STR_EVENTS_DISCARDED, true, function (listener) {
3465
+ _runListeners(_listeners, STR_EVENTS_DISCARDED, _asyncNotifications, function (listener) {
3409
3466
  listener[STR_EVENTS_DISCARDED ](events, reason);
3410
3467
  });
3411
3468
  };
3412
3469
  _self[STR_EVENTS_SEND_REQUEST ] = function (sendReason, isAsync) {
3413
- _runListeners(_listeners, STR_EVENTS_SEND_REQUEST, isAsync, function (listener) {
3470
+ _runListeners(_listeners, STR_EVENTS_SEND_REQUEST, isAsync ? _asyncNotifications : null, function (listener) {
3414
3471
  listener[STR_EVENTS_SEND_REQUEST ](sendReason, isAsync);
3415
3472
  });
3416
3473
  };
3417
3474
  _self[STR_PERF_EVENT ] = function (perfEvent) {
3418
3475
  if (perfEvent) {
3419
3476
  if (perfEvtsSendAll || !perfEvent[_DYN_IS_CHILD_EVT ]()) {
3420
- _runListeners(_listeners, STR_PERF_EVENT, false, function (listener) {
3477
+ _runListeners(_listeners, STR_PERF_EVENT, null, function (listener) {
3421
3478
  if (perfEvent[_DYN_IS_ASYNC ]) {
3422
3479
  scheduleTimeout(function () { return listener[STR_PERF_EVENT ](perfEvent); }, 0);
3423
3480
  }
@@ -3433,9 +3490,12 @@ var NotificationManager = /** @class */ (function () {
3433
3490
  unloadHandler && unloadHandler.rm();
3434
3491
  unloadHandler = null;
3435
3492
  _listeners = [];
3493
+ _asyncNotifications.h && _asyncNotifications.h[_DYN_CANCEL ]();
3494
+ _asyncNotifications.h = null;
3495
+ _asyncNotifications.cb = [];
3436
3496
  };
3437
3497
  var waiting;
3438
- _runListeners(_listeners, "unload", false, function (listener) {
3498
+ _runListeners(_listeners, "unload", null, function (listener) {
3439
3499
  var asyncUnload = listener[_DYN_UNLOAD ](isAsync);
3440
3500
  if (asyncUnload) {
3441
3501
  if (!waiting) {
@@ -4228,6 +4288,12 @@ function createUnloadHandlerContainer() {
4228
4288
  };
4229
4289
  }
4230
4290
 
4291
+ var _maxHooks;
4292
+ var _hookAddMonitor;
4293
+ function _testHookMaxUnloadHooksCb(maxHooks, addMonitor) {
4294
+ _maxHooks = maxHooks;
4295
+ _hookAddMonitor = addMonitor;
4296
+ }
4231
4297
  function createUnloadHookContainer() {
4232
4298
  var _hooks = [];
4233
4299
  function _doUnload(logger) {
@@ -4241,10 +4307,16 @@ function createUnloadHookContainer() {
4241
4307
  _throwInternal(logger, 2 , 73 , "Unloading:" + dumpObj(e));
4242
4308
  }
4243
4309
  });
4310
+ if (_maxHooks && oldHooks[_DYN_LENGTH$1 ] > _maxHooks) {
4311
+ _hookAddMonitor ? _hookAddMonitor("doUnload", oldHooks) : _throwInternal(null, 1 , 48 , "Max unload hooks exceeded. An excessive number of unload hooks has been detected.");
4312
+ }
4244
4313
  }
4245
4314
  function _addHook(hooks) {
4246
4315
  if (hooks) {
4247
4316
  arrAppend(_hooks, hooks);
4317
+ if (_maxHooks && _hooks[_DYN_LENGTH$1 ] > _maxHooks) {
4318
+ _hookAddMonitor ? _hookAddMonitor("Add", _hooks) : _throwInternal(null, 1 , 48 , "Max unload hooks exceeded. An excessive number of unload hooks has been detected.");
4319
+ }
4248
4320
  }
4249
4321
  }
4250
4322
  return {
@@ -4372,7 +4444,7 @@ var BaseTelemetryPlugin = /** @class */ (function () {
4372
4444
  function _setDefaults(config, core, pluginChain) {
4373
4445
  createDynamicConfig(config, defaultValues, safeGetLogger(core));
4374
4446
  if (!pluginChain && core) {
4375
- pluginChain = core[_DYN_GET_PROCESS_TEL_CONT0 ]()[_DYN_GET_NEXT ]();
4447
+ pluginChain = core[_DYN_GET_PROCESS_TEL_CONT2 ]()[_DYN_GET_NEXT ]();
4376
4448
  }
4377
4449
  var nextPlugin = _nextPlugin;
4378
4450
  if (_nextPlugin && _nextPlugin[strGetPlugin]) {
@@ -4576,6 +4648,27 @@ function _registerDelayedCfgListener(config, listeners, logger) {
4576
4648
  };
4577
4649
  });
4578
4650
  }
4651
+ function _initDebugListener(configHandler, unloadContainer, notificationManager, debugListener) {
4652
+ unloadContainer.add(configHandler[_DYN_WATCH ](function (details) {
4653
+ var disableDbgExt = details.cfg.disableDbgExt;
4654
+ if (disableDbgExt === true && debugListener) {
4655
+ notificationManager[_DYN_REMOVE_NOTIFICATION_0 ](debugListener);
4656
+ debugListener = null;
4657
+ }
4658
+ if (notificationManager && !debugListener && disableDbgExt !== true) {
4659
+ debugListener = getDebugListener(details.cfg);
4660
+ notificationManager[_DYN_ADD_NOTIFICATION_LIS1 ](debugListener);
4661
+ }
4662
+ }));
4663
+ return debugListener;
4664
+ }
4665
+ function _createUnloadHook(unloadHook) {
4666
+ return objDefine({
4667
+ rm: function () {
4668
+ unloadHook.rm();
4669
+ }
4670
+ }, "toJSON", { v: function () { return "aicore::onCfgChange<" + JSON.stringify(unloadHook) + ">"; } });
4671
+ }
4579
4672
  var AppInsightsCore$1 = /** @class */ (function () {
4580
4673
  function AppInsightsCore() {
4581
4674
  var _configHandler;
@@ -4632,7 +4725,7 @@ var AppInsightsCore$1 = /** @class */ (function () {
4632
4725
  }
4633
4726
  }));
4634
4727
  _notificationManager = notificationManager;
4635
- _initDebugListener();
4728
+ _debugListener = _initDebugListener(_configHandler, _hookContainer, _notificationManager && _self[_DYN_GET_NOTIFY_MGR ](), _debugListener);
4636
4729
  _initPerfManager();
4637
4730
  _self[_DYN_LOGGER$1 ] = logger;
4638
4731
  var cfgExtensions = config[STR_EXTENSIONS ];
@@ -4685,7 +4778,7 @@ var AppInsightsCore$1 = /** @class */ (function () {
4685
4778
  }
4686
4779
  }, function () { return ({ item: telemetryItem }); }, !(telemetryItem.sync));
4687
4780
  };
4688
- _self[_DYN_GET_PROCESS_TEL_CONT0 ] = _createTelCtx;
4781
+ _self[_DYN_GET_PROCESS_TEL_CONT2 ] = _createTelCtx;
4689
4782
  _self[_DYN_GET_NOTIFY_MGR ] = function () {
4690
4783
  if (!_notificationManager) {
4691
4784
  _notificationManager = new NotificationManager(_configHandler.cfg);
@@ -4694,11 +4787,11 @@ var AppInsightsCore$1 = /** @class */ (function () {
4694
4787
  return _notificationManager;
4695
4788
  };
4696
4789
  _self[_DYN_ADD_NOTIFICATION_LIS1 ] = function (listener) {
4697
- _self[_DYN_GET_NOTIFY_MGR ]()[_DYN_ADD_NOTIFICATION_LIS1 ](listener);
4790
+ _self.getNotifyMgr()[_DYN_ADD_NOTIFICATION_LIS1 ](listener);
4698
4791
  };
4699
- _self[_DYN_REMOVE_NOTIFICATION_2 ] = function (listener) {
4792
+ _self[_DYN_REMOVE_NOTIFICATION_0 ] = function (listener) {
4700
4793
  if (_notificationManager) {
4701
- _notificationManager[_DYN_REMOVE_NOTIFICATION_2 ](listener);
4794
+ _notificationManager[_DYN_REMOVE_NOTIFICATION_0 ](listener);
4702
4795
  }
4703
4796
  };
4704
4797
  _self.getCookieMgr = function () {
@@ -4714,16 +4807,6 @@ var AppInsightsCore$1 = /** @class */ (function () {
4714
4807
  }
4715
4808
  };
4716
4809
  _self[STR_GET_PERF_MGR ] = function () {
4717
- if (!_perfManager && !_cfgPerfManager) {
4718
- _addUnloadHook(_configHandler[_DYN_WATCH ](function (details) {
4719
- if (details.cfg.enablePerfMgr) {
4720
- var createPerfMgr = details.cfg[STR_CREATE_PERF_MGR ];
4721
- if (isFunction(createPerfMgr)) {
4722
- _cfgPerfManager = createPerfMgr(_self, _self[_DYN_GET_NOTIFY_MGR ]());
4723
- }
4724
- }
4725
- }));
4726
- }
4727
4810
  return _perfManager || _cfgPerfManager || getGblPerfMgr();
4728
4811
  };
4729
4812
  _self.setPerfMgr = function (perfMgr) {
@@ -4918,11 +5001,7 @@ var AppInsightsCore$1 = /** @class */ (function () {
4918
5001
  else {
4919
5002
  unloadHook = onConfigChange(_configHandler.cfg, handler, _self[_DYN_LOGGER$1 ]);
4920
5003
  }
4921
- return {
4922
- rm: function () {
4923
- unloadHook.rm();
4924
- }
4925
- };
5004
+ return _createUnloadHook(unloadHook);
4926
5005
  };
4927
5006
  _self.getWParam = function () {
4928
5007
  return (hasDocument() || !!_configHandler.cfg.enableWParam) ? 0 : -1;
@@ -5022,6 +5101,8 @@ var AppInsightsCore$1 = /** @class */ (function () {
5022
5101
  _pluginVersionString = null;
5023
5102
  _pluginVersionStringArr = null;
5024
5103
  _forceStopInternalLogPoller = false;
5104
+ _internalLogPoller = null;
5105
+ _internalLogPollerListening = false;
5025
5106
  }
5026
5107
  function _createTelCtx() {
5027
5108
  var theCtx = createProcessTelemetryContext(_getPluginChain(), _configHandler.cfg, _self);
@@ -5216,28 +5297,27 @@ var AppInsightsCore$1 = /** @class */ (function () {
5216
5297
  doCallback();
5217
5298
  return true;
5218
5299
  }
5219
- function _initDebugListener() {
5220
- !_notificationManager && _self[_DYN_GET_NOTIFY_MGR ]();
5221
- _addUnloadHook(_configHandler[_DYN_WATCH ](function (details) {
5222
- var disableDbgExt = details.cfg.disableDbgExt;
5223
- if (disableDbgExt === true && _debugListener) {
5224
- _notificationManager[_DYN_REMOVE_NOTIFICATION_2 ](_debugListener);
5225
- _debugListener = null;
5226
- }
5227
- if (_notificationManager && !_debugListener && disableDbgExt !== true) {
5228
- _debugListener = getDebugListener(details.cfg);
5229
- _notificationManager[_DYN_ADD_NOTIFICATION_LIS1 ](_debugListener);
5230
- }
5231
- }));
5232
- }
5233
5300
  function _initPerfManager() {
5301
+ var prevCfgPerfMgr;
5234
5302
  _addUnloadHook(_configHandler[_DYN_WATCH ](function (details) {
5235
5303
  var enablePerfMgr = details.cfg.enablePerfMgr;
5236
- if (!enablePerfMgr && _cfgPerfManager) {
5237
- _cfgPerfManager = null;
5238
- }
5239
5304
  if (enablePerfMgr) {
5240
- getSetValue(details.cfg, STR_CREATE_PERF_MGR, _createPerfManager);
5305
+ var createPerfMgr = details.cfg[STR_CREATE_PERF_MGR ];
5306
+ if (prevCfgPerfMgr !== createPerfMgr) {
5307
+ if (!createPerfMgr) {
5308
+ createPerfMgr = _createPerfManager;
5309
+ }
5310
+ getSetValue(details.cfg, STR_CREATE_PERF_MGR, createPerfMgr);
5311
+ prevCfgPerfMgr = createPerfMgr;
5312
+ _cfgPerfManager = null;
5313
+ }
5314
+ if (!_perfManager && !_cfgPerfManager && isFunction(createPerfMgr)) {
5315
+ _cfgPerfManager = createPerfMgr(_self, _self[_DYN_GET_NOTIFY_MGR ]());
5316
+ }
5317
+ }
5318
+ else {
5319
+ _cfgPerfManager = null;
5320
+ prevCfgPerfMgr = null;
5241
5321
  }
5242
5322
  }));
5243
5323
  }
@@ -5610,7 +5690,7 @@ var _DYN_RM_FIELD_SANITIZER = "rmFieldSanitizer";
5610
5690
  var _DYN_CAN_HANDLE = "canHandle";
5611
5691
 
5612
5692
  var _a;
5613
- var Version = '4.0.6-nightly3.2312-05';
5693
+ var Version = '4.0.7';
5614
5694
  var FullVersionString = "1DS-Web-JS-" + Version;
5615
5695
  var ObjHasOwnProperty = ObjProto$1.hasOwnProperty;
5616
5696
  var strDisabledPropertyName = "Microsoft_ApplicationInsights_BypassAjaxInstrumentation";
@@ -6207,6 +6287,7 @@ exports.Version = Version;
6207
6287
  exports._InternalLogMessage = _InternalLogMessage;
6208
6288
  exports.__getRegisteredEvents = __getRegisteredEvents;
6209
6289
  exports._logInternalMessage = _logInternalMessage;
6290
+ exports._testHookMaxUnloadHooksCb = _testHookMaxUnloadHooksCb;
6210
6291
  exports._throwInternal = _throwInternal;
6211
6292
  exports._warnToConsole = _warnToConsole;
6212
6293
  exports.addEventHandler = addEventHandler;