@microsoft/applicationinsights-web-basic 3.0.7 → 3.0.9

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (45) hide show
  1. package/browser/es5/{aib.3.0.7.gbl.js → aib.3.0.9.cjs.js} +379 -336
  2. package/browser/es5/aib.3.0.9.cjs.js.map +1 -0
  3. package/browser/es5/aib.3.0.9.cjs.min.js +6 -0
  4. package/browser/es5/aib.3.0.9.cjs.min.js.map +1 -0
  5. package/browser/es5/{aib.3.0.7.cjs.js → aib.3.0.9.gbl.js} +402 -313
  6. package/browser/es5/aib.3.0.9.gbl.js.map +1 -0
  7. package/browser/es5/aib.3.0.9.gbl.min.js +6 -0
  8. package/browser/es5/aib.3.0.9.gbl.min.js.map +1 -0
  9. package/browser/es5/aib.3.0.9.integrity.json +66 -0
  10. package/browser/es5/{aib.3.0.7.js → aib.3.0.9.js} +381 -315
  11. package/browser/es5/aib.3.0.9.js.map +1 -0
  12. package/browser/es5/aib.3.0.9.min.js +6 -0
  13. package/browser/es5/aib.3.0.9.min.js.map +1 -0
  14. package/browser/es5/aib.3.cjs.js +378 -312
  15. package/browser/es5/aib.3.cjs.js.map +1 -1
  16. package/browser/es5/aib.3.cjs.min.js +2 -2
  17. package/browser/es5/aib.3.cjs.min.js.map +1 -1
  18. package/browser/es5/aib.3.gbl.js +380 -314
  19. package/browser/es5/aib.3.gbl.js.map +1 -1
  20. package/browser/es5/aib.3.gbl.min.js +2 -2
  21. package/browser/es5/aib.3.gbl.min.js.map +1 -1
  22. package/browser/es5/aib.3.integrity.json +25 -25
  23. package/browser/es5/aib.3.js +380 -314
  24. package/browser/es5/aib.3.js.map +1 -1
  25. package/browser/es5/aib.3.min.js +2 -2
  26. package/browser/es5/aib.3.min.js.map +1 -1
  27. package/dist/es5/applicationinsights-web-basic.js +378 -312
  28. package/dist/es5/applicationinsights-web-basic.js.map +1 -1
  29. package/dist/es5/applicationinsights-web-basic.min.js +2 -2
  30. package/dist/es5/applicationinsights-web-basic.min.js.map +1 -1
  31. package/dist-es5/__DynamicConstants.js +1 -1
  32. package/dist-es5/index.js +1 -1
  33. package/package.json +70 -67
  34. package/types/applicationinsights-web-basic.d.ts +26 -2
  35. package/types/applicationinsights-web-basic.namespaced.d.ts +3287 -57
  36. package/browser/es5/aib.3.0.7.cjs.js.map +0 -1
  37. package/browser/es5/aib.3.0.7.cjs.min.js +0 -6
  38. package/browser/es5/aib.3.0.7.cjs.min.js.map +0 -1
  39. package/browser/es5/aib.3.0.7.gbl.js.map +0 -1
  40. package/browser/es5/aib.3.0.7.gbl.min.js +0 -6
  41. package/browser/es5/aib.3.0.7.gbl.min.js.map +0 -1
  42. package/browser/es5/aib.3.0.7.integrity.json +0 -66
  43. package/browser/es5/aib.3.0.7.js.map +0 -1
  44. package/browser/es5/aib.3.0.7.min.js +0 -6
  45. package/browser/es5/aib.3.0.7.min.js.map +0 -1
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * Application Insights JavaScript Web SDK - Basic, 3.0.7
2
+ * Application Insights JavaScript Web SDK - Basic, 3.0.9
3
3
  * Copyright (c) Microsoft and contributors. All rights reserved.
4
4
  */
5
5
  (function (global, factory) {
@@ -11,23 +11,18 @@
11
11
  var UNDEF_VALUE = undefined;
12
12
  var NULL_VALUE = null;
13
13
  var EMPTY = "";
14
- var BOOLEAN = "boolean";
15
14
  var FUNCTION = "function";
16
- var NUMBER = "number";
17
15
  var OBJECT = "object";
18
16
  var PROTOTYPE = "prototype";
19
17
  var __PROTO__ = "__proto__";
20
- var STRING = "string";
21
18
  var UNDEFINED = "undefined";
22
19
  var CONSTRUCTOR = "constructor";
23
20
  var SYMBOL = "Symbol";
24
21
  var POLYFILL_TAG = "_polyfill";
25
- var INDEX_OF = "indexOf";
26
22
  var LENGTH = "length";
27
- var DONE = "done";
28
- var VALUE = "value";
29
23
  var NAME = "name";
30
- var SLICE = "slice";
24
+ var CALL = "call";
25
+ var TO_STRING = "toString";
31
26
  var ObjClass$1 = Object;
32
27
  var ObjProto$1 = ObjClass$1[PROTOTYPE];
33
28
  var StrCls = String;
@@ -35,49 +30,67 @@
35
30
  var MathCls = Math;
36
31
  var ArrCls = Array;
37
32
  var ArrProto = ArrCls[PROTOTYPE];
33
+ var ArrSlice = ArrProto["slice"];
38
34
 
39
- function safeGet(cb, defValue) {
40
- var result = defValue;
35
+ function safe(func, argArray) {
41
36
  try {
42
- result = cb();
37
+ return {
38
+ v: func.apply(this, argArray)
39
+ };
43
40
  }
44
41
  catch (e) {
42
+ return { e: e };
45
43
  }
46
- return result;
47
44
  }
48
45
 
49
- var PRIMITIVE_TYPES = [STRING, NUMBER, BOOLEAN, UNDEFINED, "symbol", "bigint"];
46
+ /*#__NO_SIDE_EFFECTS__*/
47
+ function safeGet(cb, defValue) {
48
+ var result = safe(cb);
49
+ return result.e ? defValue : result.v;
50
+ }
51
+
52
+ var _primitiveTypes;
53
+ /*#__NO_SIDE_EFFECTS__*/
50
54
  function _createIs(theType) {
51
55
  return function (value) {
52
56
  return typeof value === theType;
53
57
  };
54
58
  }
59
+ /*#__NO_SIDE_EFFECTS__*/
55
60
  function _createObjIs(theName) {
56
61
  var theType = "[object " + theName + "]";
57
62
  return function (value) {
58
63
  return !!(value && objToString(value) === theType);
59
64
  };
60
65
  }
66
+ /*#__NO_SIDE_EFFECTS__*/
61
67
  function objToString(value) {
62
68
  return ObjProto$1.toString.call(value);
63
69
  }
70
+ /*#__NO_SIDE_EFFECTS__*/
64
71
  function isUndefined(value) {
65
72
  return typeof value === UNDEFINED || value === UNDEFINED;
66
73
  }
74
+ /*#__NO_SIDE_EFFECTS__*/
67
75
  function isNullOrUndefined(value) {
68
76
  return value === NULL_VALUE || isUndefined(value);
69
77
  }
78
+ /*#__NO_SIDE_EFFECTS__*/
70
79
  function isStrictNullOrUndefined(value) {
71
80
  return value === NULL_VALUE || !isDefined(value);
72
81
  }
82
+ /*#__NO_SIDE_EFFECTS__*/
73
83
  function isDefined(arg) {
74
84
  return !!arg || arg !== UNDEF_VALUE;
75
85
  }
76
- var isPrimitiveType = function (theType) {
77
- return theType !== OBJECT && PRIMITIVE_TYPES.indexOf(theType) !== -1;
78
- };
79
- var isString = _createIs(STRING);
80
- var isFunction = _createIs(FUNCTION);
86
+ /*#__NO_SIDE_EFFECTS__*/
87
+ function isPrimitiveType(theType) {
88
+ !_primitiveTypes && (_primitiveTypes = ["string", "number", "boolean", UNDEFINED, "symbol", "bigint"]);
89
+ return theType !== OBJECT && _primitiveTypes.indexOf(theType) !== -1;
90
+ }
91
+ var isString = ( /*#__PURE__*/_createIs("string"));
92
+ var isFunction = ( /*#__PURE__*/_createIs(FUNCTION));
93
+ /*#__NO_SIDE_EFFECTS__*/
81
94
  function isObject(value) {
82
95
  if (!value && isNullOrUndefined(value)) {
83
96
  return false;
@@ -85,24 +98,28 @@
85
98
  return !!value && typeof value === OBJECT;
86
99
  }
87
100
  var isArray = ArrCls.isArray;
88
- var isDate = _createObjIs("Date");
89
- var isNumber = _createIs(NUMBER);
90
- var isBoolean = _createIs(BOOLEAN);
91
- var isError = _createObjIs("Error");
101
+ var isDate = ( /*#__PURE__*/_createObjIs("Date"));
102
+ var isNumber = ( /*#__PURE__*/_createIs("number"));
103
+ var isBoolean = ( /*#__PURE__*/_createIs("boolean"));
104
+ var isError = ( /*#__PURE__*/_createObjIs("Error"));
105
+ /*#__NO_SIDE_EFFECTS__*/
92
106
  function isPromiseLike(value) {
93
- return !!value && isFunction(value.then);
107
+ return !!(value && value.then && isFunction(value.then));
94
108
  }
109
+ /*#__NO_SIDE_EFFECTS__*/
95
110
  function isTruthy(value) {
96
111
  return !(!value || safeGet(function () { return !(value && (0 + value)); }, !value));
97
112
  }
98
113
 
99
114
  var objGetOwnPropertyDescriptor = ObjClass$1.getOwnPropertyDescriptor;
100
115
 
116
+ /*#__NO_SIDE_EFFECTS__*/
101
117
  function objHasOwnProperty(obj, prop) {
102
- return obj && ObjProto$1.hasOwnProperty.call(obj, prop);
118
+ return !!obj && ObjProto$1.hasOwnProperty[CALL](obj, prop);
103
119
  }
104
120
 
105
121
  var objHasOwn = ObjClass$1["hasOwn"] || polyObjHasOwn;
122
+ /*#__NO_SIDE_EFFECTS__*/
106
123
  function polyObjHasOwn(obj, prop) {
107
124
  return objHasOwnProperty(obj, prop) || !!objGetOwnPropertyDescriptor(obj, prop);
108
125
  }
@@ -111,7 +128,7 @@
111
128
  if (theObject && isObject(theObject)) {
112
129
  for (var prop in theObject) {
113
130
  if (objHasOwn(theObject, prop)) {
114
- if (callbackfn.call(thisArg || theObject, prop, theObject[prop]) === -1) {
131
+ if (callbackfn[CALL](thisArg || theObject, prop, theObject[prop]) === -1) {
115
132
  break;
116
133
  }
117
134
  }
@@ -119,6 +136,7 @@
119
136
  }
120
137
  }
121
138
 
139
+ /*#__NO_SIDE_EFFECTS__*/
122
140
  function _createKeyValueMap(values, keyType, valueType, completeFn) {
123
141
  var theMap = {};
124
142
  objForEachKey(values, function (key, value) {
@@ -136,15 +154,15 @@
136
154
  }
137
155
 
138
156
  var _objFreeze = ObjClass$1["freeze"];
139
- var _doNothing = function (value) { return value; };
140
- var _getProto = function (value) { return value[__PROTO__] || NULL_VALUE; };
141
- var objAssign = ObjClass$1["assign"];
142
- function objKeys(value) {
143
- if (!isObject(value) || value === NULL_VALUE) {
144
- throwTypeError("objKeys called on non-object");
145
- }
146
- return ObjClass$1.keys(value);
157
+ function _doNothing(value) {
158
+ return value;
159
+ }
160
+ /*#__NO_SIDE_EFFECTS__*/
161
+ function _getProto(value) {
162
+ return value[__PROTO__] || NULL_VALUE;
147
163
  }
164
+ var objAssign = ObjClass$1["assign"];
165
+ var objKeys = ObjClass$1.keys;
148
166
  function objDeepFreeze(value) {
149
167
  if (_objFreeze) {
150
168
  objForEachKey(value, function (key, value) {
@@ -158,12 +176,15 @@
158
176
  var objFreeze = _objFreeze || _doNothing;
159
177
  var objGetPrototypeOf = ObjClass$1["getPrototypeOf"] || _getProto;
160
178
 
179
+ /*#__NO_SIDE_EFFECTS__*/
161
180
  function createEnum(values) {
162
181
  return _createKeyValueMap(values, 1 , 0 , objDeepFreeze);
163
182
  }
183
+ /*#__NO_SIDE_EFFECTS__*/
164
184
  function createEnumKeyMap(values) {
165
185
  return _createKeyValueMap(values, 0 , 0 , objDeepFreeze);
166
186
  }
187
+ /*#__NO_SIDE_EFFECTS__*/
167
188
  function createSimpleMap(values) {
168
189
  var mapClass = {};
169
190
  objForEachKey(values, function (key, value) {
@@ -172,11 +193,12 @@
172
193
  });
173
194
  return objDeepFreeze(mapClass);
174
195
  }
196
+ /*#__NO_SIDE_EFFECTS__*/
175
197
  function createTypeMap(values) {
176
198
  return createSimpleMap(values);
177
199
  }
178
200
 
179
- var _wellKnownSymbolMap = createEnumKeyMap({
201
+ var _wellKnownSymbolMap = /*#__PURE__*/ createEnumKeyMap({
180
202
  asyncIterator: 0 ,
181
203
  hasInstance: 1 ,
182
204
  isConcatSpreadable: 2 ,
@@ -196,6 +218,7 @@
196
218
 
197
219
  var GLOBAL_CONFIG_KEY = "__tsUtils$gblCfg";
198
220
  var _globalCfg;
221
+ /*#__NO_SIDE_EFFECTS__*/
199
222
  function _getGlobalValue() {
200
223
  var result;
201
224
  if (typeof globalThis !== UNDEFINED) {
@@ -212,60 +235,47 @@
212
235
  }
213
236
  return result;
214
237
  }
238
+ /*#__NO_SIDE_EFFECTS__*/
215
239
  function _getGlobalConfig() {
216
240
  if (!_globalCfg) {
217
- var gbl = _getGlobalValue() || {};
241
+ var gbl = safe(_getGlobalValue).v || {};
218
242
  _globalCfg = gbl[GLOBAL_CONFIG_KEY] = gbl[GLOBAL_CONFIG_KEY] || {};
219
243
  }
220
244
  return _globalCfg;
221
245
  }
222
246
 
247
+ var ERROR_TYPE = "[object Error]";
248
+ /*#__NO_SIDE_EFFECTS__*/
223
249
  function dumpObj(object, format) {
224
250
  var propertyValueDump = EMPTY;
225
- if (isError(object)) {
226
- propertyValueDump = "{ stack: '" + object.stack + "', message: '" + object.message + "', name: '" + object.name + "'";
251
+ var objType = ObjProto$1[TO_STRING][CALL](object);
252
+ if (objType === ERROR_TYPE) {
253
+ object = { stack: asString(object.stack), message: asString(object.message), name: asString(object.name) };
227
254
  }
228
- else {
229
- try {
230
- propertyValueDump = JSON.stringify(object, NULL_VALUE, format ? (isNumber(format) ? format : 4) : UNDEF_VALUE);
231
- }
232
- catch (e) {
233
- propertyValueDump = " - " + dumpObj(e, format);
234
- }
255
+ try {
256
+ propertyValueDump = JSON.stringify(object, NULL_VALUE, format ? ((typeof format === "number") ? format : 4) : UNDEF_VALUE);
257
+ propertyValueDump = (propertyValueDump && propertyValueDump.replace(/"(\w+)"\s*:\s{0,1}/g, "$1: ")) || asString(object);
258
+ }
259
+ catch (e) {
260
+ propertyValueDump = " - " + dumpObj(e, format);
235
261
  }
236
- return objToString(object) + ": " + propertyValueDump;
262
+ return objType + ": " + propertyValueDump;
237
263
  }
238
264
 
239
- var _arrSlice = ArrProto[SLICE];
240
- var _throwMissingFunction = function (funcName, thisArg) {
241
- throwTypeError("'" + asString(funcName) + "' not defined for " + dumpObj(thisArg));
242
- };
243
- var _unwrapInstFunction = function (funcName) {
244
- return function (thisArg) {
245
- return thisArg[funcName].apply(thisArg, _arrSlice.call(arguments, 1));
246
- };
247
- };
248
- var _unwrapFunction = function (funcName, clsProto) {
249
- var clsFn = clsProto && clsProto[funcName];
250
- return function (thisArg) {
251
- var theFunc = (thisArg && thisArg[funcName]) || clsFn;
252
- if (theFunc) {
253
- return theFunc.apply(thisArg, _arrSlice.call(arguments, 1));
254
- }
255
- _throwMissingFunction(funcName, thisArg);
256
- };
257
- };
258
- var _unwrapFunctionWithPoly = function (funcName, clsProto, polyFunc) {
265
+ var _unwrapFunction = _unwrapFunctionWithPoly;
266
+ /*#__NO_SIDE_EFFECTS__*/
267
+ function _unwrapFunctionWithPoly(funcName, clsProto, polyFunc) {
259
268
  var clsFn = clsProto && clsProto[funcName];
260
269
  return function (thisArg) {
261
270
  var theFunc = (thisArg && thisArg[funcName]) || clsFn;
262
271
  if (theFunc || polyFunc) {
263
272
  var theArgs = arguments;
264
- return (theFunc || polyFunc).apply(thisArg, theFunc ? _arrSlice.call(theArgs, 1) : theArgs);
273
+ return (theFunc || polyFunc).apply(thisArg, theFunc ? ArrSlice[CALL](theArgs, 1) : theArgs);
265
274
  }
266
- _throwMissingFunction(funcName, thisArg);
275
+ throwTypeError("\"" + asString(funcName) + "\" not defined for " + dumpObj(thisArg));
267
276
  };
268
- };
277
+ }
278
+ /*#__NO_SIDE_EFFECTS__*/
269
279
  function _unwrapProp(propName) {
270
280
  return function (thisArg) {
271
281
  return thisArg[propName];
@@ -274,10 +284,11 @@
274
284
 
275
285
  var mathMax = MathCls.max;
276
286
 
277
- var strSlice = _unwrapFunction(SLICE, StrProto);
287
+ var strSlice = ( /*#__PURE__*/_unwrapFunction("slice", StrProto));
278
288
 
279
- var strSubstring = _unwrapFunction("substring", StrProto);
280
- var strSubstr = _unwrapFunctionWithPoly("substr", StrProto, polyStrSubstr);
289
+ var strSubstring = ( /*#__PURE__*/_unwrapFunction("substring", StrProto));
290
+ var strSubstr = ( /*#__PURE__*/_unwrapFunctionWithPoly("substr", StrProto, polyStrSubstr));
291
+ /*#__NO_SIDE_EFFECTS__*/
281
292
  function polyStrSubstr(value, start, length) {
282
293
  if (isNullOrUndefined(value)) {
283
294
  throwTypeError("'polyStrSubstr called with invalid " + dumpObj(value));
@@ -294,12 +305,14 @@
294
305
  }
295
306
  return strSlice(value, start, start + length);
296
307
  }
308
+ /*#__NO_SIDE_EFFECTS__*/
297
309
  function strLeft(value, count) {
298
310
  return strSubstring(value, 0, count);
299
311
  }
300
312
 
301
313
  var UNIQUE_REGISTRY_ID = "_urid";
302
314
  var _polySymbols;
315
+ /*#__NO_SIDE_EFFECTS__*/
303
316
  function _globalSymbolRegistry() {
304
317
  if (!_polySymbols) {
305
318
  var gblCfg = _getGlobalConfig();
@@ -307,7 +320,8 @@
307
320
  }
308
321
  return _polySymbols;
309
322
  }
310
- var _wellKnownSymbolCache = {};
323
+ var _wellKnownSymbolCache;
324
+ /*#__NO_SIDE_EFFECTS__*/
311
325
  function polyNewSymbol(description) {
312
326
  var theSymbol = {
313
327
  description: asString(description),
@@ -316,18 +330,21 @@
316
330
  theSymbol[POLYFILL_TAG] = true;
317
331
  return theSymbol;
318
332
  }
333
+ /*#__NO_SIDE_EFFECTS__*/
319
334
  function polySymbolFor(key) {
320
335
  var registry = _globalSymbolRegistry();
321
336
  if (!objHasOwn(registry.k, key)) {
322
337
  var newSymbol_1 = polyNewSymbol(key);
323
338
  var regId_1 = objKeys(registry.s).length;
324
- newSymbol_1[UNIQUE_REGISTRY_ID] = function () { return regId_1 + "_" + newSymbol_1.toString(); };
339
+ newSymbol_1[UNIQUE_REGISTRY_ID] = function () { return regId_1 + "_" + newSymbol_1[TO_STRING](); };
325
340
  registry.k[key] = newSymbol_1;
326
341
  registry.s[newSymbol_1[UNIQUE_REGISTRY_ID]()] = asString(key);
327
342
  }
328
343
  return registry.k[key];
329
344
  }
345
+ /*#__NO_SIDE_EFFECTS__*/
330
346
  function polyGetKnownSymbol(name) {
347
+ !_wellKnownSymbolCache && (_wellKnownSymbolCache = {});
331
348
  var result;
332
349
  var knownName = _wellKnownSymbolMap[name];
333
350
  if (knownName) {
@@ -339,11 +356,12 @@
339
356
  var propMap = {
340
357
  e: "enumerable",
341
358
  c: "configurable",
342
- v: VALUE,
359
+ v: "value",
343
360
  w: "writable",
344
361
  g: "get",
345
362
  s: "set"
346
363
  };
364
+ /*#__NO_SIDE_EFFECTS__*/
347
365
  function _createProp(value) {
348
366
  var prop = {};
349
367
  prop[propMap["c"]] = true;
@@ -368,13 +386,13 @@
368
386
  }
369
387
 
370
388
  var _globalLazyTestHooks;
371
- var _fetchLazyTestHooks = function () {
389
+ function _initTestHooks() {
372
390
  _globalLazyTestHooks = _getGlobalConfig();
373
- _fetchLazyTestHooks = NULL_VALUE;
374
- };
391
+ }
392
+ /*#__NO_SIDE_EFFECTS__*/
375
393
  function getLazy(cb) {
376
394
  var lazyValue = {};
377
- _fetchLazyTestHooks && _fetchLazyTestHooks();
395
+ !_globalLazyTestHooks && _initTestHooks();
378
396
  lazyValue.b = _globalLazyTestHooks.lzy;
379
397
  objDefineProp(lazyValue, "v", {
380
398
  configurable: true,
@@ -384,99 +402,122 @@
384
402
  objDefineProp(lazyValue, "v", {
385
403
  value: result
386
404
  });
387
- if (lazyValue.b) {
388
- delete lazyValue.b;
389
- }
390
- }
391
- if (_globalLazyTestHooks.lzy && lazyValue.b !== _globalLazyTestHooks.lzy) {
392
- lazyValue.b = _globalLazyTestHooks.lzy;
393
405
  }
406
+ lazyValue.b = _globalLazyTestHooks.lzy;
394
407
  return result;
395
408
  }
396
409
  });
397
410
  return lazyValue;
398
411
  }
399
412
 
413
+ /*#__NO_SIDE_EFFECTS__*/
400
414
  function safeGetLazy(cb, defValue) {
401
- return getLazy(function () { return safeGet(cb, defValue); });
415
+ return getLazy(function () {
416
+ var result = safe(cb);
417
+ return result.e ? defValue : result.v;
418
+ });
419
+ }
420
+
421
+ /*#__NO_SIDE_EFFECTS__*/
422
+ function createCachedValue(value) {
423
+ return objDefineProp({
424
+ toJSON: function () { return value; }
425
+ }, "v", { value: value });
402
426
  }
403
427
 
404
428
  var WINDOW = "window";
405
429
  var _cachedGlobal;
406
- var _cachedWindow;
407
- var _cachedDocument;
408
- var _cachedNavigator;
409
- var _isNode;
410
- var lazySafeGetInst = function (name) { return safeGetLazy(function () { return getInst(name) || UNDEF_VALUE; }, UNDEF_VALUE); };
411
- var getGlobal = function (useCached) {
412
- (!_cachedGlobal || useCached === false || (_globalLazyTestHooks && _globalLazyTestHooks.lzy && !_cachedGlobal.b)) && (_cachedGlobal = safeGetLazy(_getGlobalValue, NULL_VALUE));
430
+ function _getGlobalInstFn(getFn, theArgs) {
431
+ var cachedValue;
432
+ return function () {
433
+ !_globalLazyTestHooks && _initTestHooks();
434
+ (!cachedValue || _globalLazyTestHooks.lzy) && (cachedValue = createCachedValue(safe(getFn, theArgs).v));
435
+ return cachedValue.v;
436
+ };
437
+ }
438
+ /*#__NO_SIDE_EFFECTS__*/
439
+ function lazySafeGetInst(name) {
440
+ return getLazy(function () { return safe((getInst), [name]).v || UNDEF_VALUE; });
441
+ }
442
+ /*#__NO_SIDE_EFFECTS__*/
443
+ function getGlobal(useCached) {
444
+ !_globalLazyTestHooks && _initTestHooks();
445
+ (!_cachedGlobal || useCached === false || _globalLazyTestHooks.lzy) && (_cachedGlobal = createCachedValue(safe(_getGlobalValue).v || NULL_VALUE));
413
446
  return _cachedGlobal.v;
414
- };
415
- var getInst = function (name, useCached) {
447
+ }
448
+ /*#__NO_SIDE_EFFECTS__*/
449
+ function getInst(name, useCached) {
416
450
  var gbl = (!_cachedGlobal || useCached === false) ? getGlobal(useCached) : _cachedGlobal.v;
417
451
  if (gbl && gbl[name]) {
418
452
  return gbl[name];
419
453
  }
420
- if (name === WINDOW && _cachedWindow) {
421
- return _cachedWindow.v;
454
+ if (name === WINDOW) {
455
+ return getWindow();
422
456
  }
423
457
  return NULL_VALUE;
424
- };
425
- var hasDocument = function () { return !!getDocument(); };
426
- var getDocument = function () {
427
- (!_cachedDocument || (_globalLazyTestHooks && _globalLazyTestHooks.lzy && !_cachedDocument.b)) && (_cachedDocument = lazySafeGetInst("document"));
428
- return _cachedDocument.v;
429
- };
430
- var hasWindow = function () { return !!getWindow(); };
431
- var getWindow = function () {
432
- (!_cachedWindow || (_globalLazyTestHooks && _globalLazyTestHooks.lzy && !_cachedWindow.b)) && (_cachedWindow = lazySafeGetInst(WINDOW));
433
- return _cachedWindow.v;
434
- };
435
- var hasNavigator = function () { return !!getNavigator(); };
436
- var getNavigator = function () {
437
- (!_cachedNavigator || (_globalLazyTestHooks && _globalLazyTestHooks.lzy && !_cachedNavigator.b)) && (_cachedNavigator = lazySafeGetInst("navigator"));
438
- return _cachedNavigator.v;
439
- };
440
- var isNode = function () {
441
- !_isNode && (_isNode = safeGetLazy(function () { return !!(process && (process.versions || {}).node); }, false));
442
- return _isNode.v;
443
- };
458
+ }
459
+ /*#__NO_SIDE_EFFECTS__*/
460
+ function hasDocument() {
461
+ return !!getDocument();
462
+ }
463
+ var getDocument = ( /*#__PURE__*/_getGlobalInstFn(getInst, ["document"]));
464
+ /*#__NO_SIDE_EFFECTS__*/
465
+ function hasWindow() {
466
+ return !!getWindow();
467
+ }
468
+ var getWindow = ( /*#__PURE__*/_getGlobalInstFn(getInst, [WINDOW]));
469
+ /*#__NO_SIDE_EFFECTS__*/
470
+ function hasNavigator() {
471
+ return !!getNavigator();
472
+ }
473
+ var getNavigator = ( /*#__PURE__*/_getGlobalInstFn(getInst, ["navigator"]));
474
+ var isNode = ( /*#__PURE__*/_getGlobalInstFn(function () {
475
+ return !!safe(function () { return (process && (process.versions || {}).node); }).v;
476
+ }));
444
477
 
445
478
  var _symbol;
446
479
  var _symbolFor;
447
- var _symbolKeyFor;
448
- function _getSymbolValue(name) {
449
- return safeGetLazy(function () {
450
- return (_symbol.v ? _symbol.v[name] : UNDEF_VALUE);
451
- }, UNDEF_VALUE);
480
+ function _initSymbol() {
481
+ if (!_symbol || !_symbol.b) {
482
+ _symbol = lazySafeGetInst(SYMBOL);
483
+ _symbolFor = safeGetLazy(function () { return (_symbol.v ? _symbol.v["for"] : UNDEF_VALUE); }, UNDEF_VALUE);
484
+ }
452
485
  }
486
+ /*#__NO_SIDE_EFFECTS__*/
453
487
  function hasSymbol() {
454
488
  return !!getSymbol();
455
489
  }
490
+ /*#__NO_SIDE_EFFECTS__*/
456
491
  function getSymbol() {
457
- var resetCache = !_symbol || (_globalLazyTestHooks && _globalLazyTestHooks.lzy && !_symbol.b);
458
- resetCache && (_symbol = lazySafeGetInst(SYMBOL));
459
- (!_symbolFor || resetCache) && (_symbolFor = _getSymbolValue("for"));
460
- (!_symbolKeyFor || resetCache) && (_symbolKeyFor = _getSymbolValue("keyFor"));
492
+ !_globalLazyTestHooks && _initTestHooks();
493
+ (!_symbol || _globalLazyTestHooks.lzy) && _initSymbol();
461
494
  return _symbol.v;
462
495
  }
496
+ /*#__NO_SIDE_EFFECTS__*/
463
497
  function getKnownSymbol(name, noPoly) {
464
498
  var knownName = _wellKnownSymbolMap[name];
465
- (!_symbol || (_globalLazyTestHooks.lzy && !_symbol.b)) && getSymbol();
499
+ !_globalLazyTestHooks && _initTestHooks();
500
+ (!_symbol || _globalLazyTestHooks.lzy) && _initSymbol();
466
501
  return _symbol.v ? _symbol.v[knownName || name] : (!noPoly ? polyGetKnownSymbol(name) : UNDEF_VALUE);
467
502
  }
503
+ /*#__NO_SIDE_EFFECTS__*/
468
504
  function newSymbol(description, noPoly) {
469
- (!_symbol || (_globalLazyTestHooks.lzy && !_symbol.b)) && getSymbol();
505
+ !_globalLazyTestHooks && _initTestHooks();
506
+ (!_symbol || _globalLazyTestHooks.lzy) && _initSymbol();
470
507
  return _symbol.v ? _symbol.v(description) : (!noPoly ? polyNewSymbol(description) : NULL_VALUE);
471
508
  }
509
+ /*#__NO_SIDE_EFFECTS__*/
472
510
  function symbolFor(key) {
473
- (!_symbolFor || (_globalLazyTestHooks.lzy && !_symbol.b)) && getSymbol();
511
+ !_globalLazyTestHooks && _initTestHooks();
512
+ (!_symbolFor || !_symbol || _globalLazyTestHooks.lzy) && _initSymbol();
474
513
  return (_symbolFor.v || polySymbolFor)(key);
475
514
  }
476
515
 
516
+ /*#__NO_SIDE_EFFECTS__*/
477
517
  function isIterator(value) {
478
518
  return !!value && isFunction(value.next);
479
519
  }
520
+ /*#__NO_SIDE_EFFECTS__*/
480
521
  function isIterable(value) {
481
522
  return !isStrictNullOrUndefined(value) && isFunction(value[getKnownSymbol(3 )]);
482
523
  }
@@ -485,7 +526,7 @@
485
526
  function iterForOf(iter, callbackfn, thisArg) {
486
527
  if (iter) {
487
528
  if (!isIterator(iter)) {
488
- !_iterSymbol && (_iterSymbol = getLazy(function () { return getKnownSymbol(3 ); }));
529
+ !_iterSymbol && (_iterSymbol = createCachedValue(getKnownSymbol(3 )));
489
530
  iter = iter[_iterSymbol.v] ? iter[_iterSymbol.v]() : null;
490
531
  }
491
532
  if (isIterator(iter)) {
@@ -493,8 +534,8 @@
493
534
  var iterResult = void 0;
494
535
  try {
495
536
  var count = 0;
496
- while (!(iterResult = iter.next())[DONE]) {
497
- if (callbackfn.call(thisArg || iter, iterResult[VALUE], count, iter) === -1) {
537
+ while (!(iterResult = iter.next()).done) {
538
+ if (callbackfn[CALL](thisArg || iter, iterResult.value, count, iter) === -1) {
498
539
  break;
499
540
  }
500
541
  count++;
@@ -509,7 +550,7 @@
509
550
  }
510
551
  finally {
511
552
  try {
512
- if (iterResult && !iterResult[DONE]) {
553
+ if (iterResult && !iterResult.done) {
513
554
  iter.return && iter.return(iterResult);
514
555
  }
515
556
  }
@@ -523,7 +564,9 @@
523
564
  }
524
565
  }
525
566
 
526
- var fnApply = _unwrapInstFunction("apply");
567
+ function fnApply(fn, thisArg, argArray) {
568
+ return fn.apply(thisArg, argArray);
569
+ }
527
570
 
528
571
  function arrAppend(target, elms) {
529
572
  if (!isUndefined(elms) && target) {
@@ -547,7 +590,7 @@
547
590
  var len = theArray[LENGTH] >>> 0;
548
591
  for (var idx = 0; idx < len; idx++) {
549
592
  if (idx in theArray) {
550
- if (callbackfn.call(thisArg || theArray, theArray[idx], idx, theArray) === -1) {
593
+ if (callbackfn[CALL](thisArg || theArray, theArray[idx], idx, theArray) === -1) {
551
594
  break;
552
595
  }
553
596
  }
@@ -555,25 +598,25 @@
555
598
  }
556
599
  }
557
600
 
558
- var arrIndexOf = _unwrapFunction(INDEX_OF, ArrProto);
601
+ var arrIndexOf = ( /*#__PURE__*/_unwrapFunction("indexOf", ArrProto));
559
602
 
560
- var arrMap = _unwrapFunction("map", ArrProto);
603
+ var arrMap = ( /*#__PURE__*/_unwrapFunction("map", ArrProto));
561
604
 
562
- var arrSlice = _unwrapFunction(SLICE, ArrProto);
563
-
564
- var fnCall = _unwrapInstFunction("call");
605
+ function arrSlice(theArray, start, end) {
606
+ return ((theArray && theArray["slice"]) || ArrSlice).apply(theArray, ArrSlice[CALL](arguments, 1));
607
+ }
565
608
 
566
- var arrReduce = _unwrapFunction("reduce", ArrProto);
609
+ var arrReduce = ( /*#__PURE__*/_unwrapFunction("reduce", ArrProto));
567
610
 
568
- var _objCreate = ObjClass$1["create"];
569
- var objCreate = _objCreate || polyObjCreate;
611
+ var objCreate = ObjClass$1["create"] || polyObjCreate;
612
+ /*#__NO_SIDE_EFFECTS__*/
570
613
  function polyObjCreate(obj) {
571
614
  if (!obj) {
572
615
  return {};
573
616
  }
574
617
  var type = typeof obj;
575
618
  if (type !== OBJECT && type !== FUNCTION) {
576
- throw new TypeError("Prototype must be an Object or function: " + dumpObj(obj));
619
+ throwTypeError("Prototype must be an Object or function: " + dumpObj(obj));
577
620
  }
578
621
  function tempFunc() { }
579
622
  tempFunc[PROTOTYPE] = obj;
@@ -593,39 +636,31 @@
593
636
  return fn(obj, proto);
594
637
  }
595
638
 
596
- var _createCustomError = function (name, d, b) {
597
- _safeDefineName(d, name);
639
+ /*#__NO_SIDE_EFFECTS__*/
640
+ function _createCustomError(name, d, b) {
641
+ safe(objDefine, [d, NAME, { v: name, c: true, e: false }]);
598
642
  d = objSetPrototypeOf(d, b);
599
643
  function __() {
600
644
  this.constructor = d;
601
- _safeDefineName(this, name);
645
+ safe(objDefine, [this, NAME, { v: name, c: true, e: false }]);
602
646
  }
603
647
  d[PROTOTYPE] = b === NULL_VALUE ? objCreate(b) : (__[PROTOTYPE] = b[PROTOTYPE], new __());
604
648
  return d;
605
- };
606
- var _safeSetName = function (baseClass, name) {
607
- try {
608
- name && (baseClass[NAME] = name);
609
- }
610
- catch (e) {
611
- }
612
- };
613
- var _safeDefineName = function (target, name) {
614
- try {
615
- objDefine(target, NAME, { v: name, c: true, e: false });
616
- }
617
- catch (e) {
618
- }
619
- };
649
+ }
650
+ function _setName(baseClass, name) {
651
+ name && (baseClass[NAME] = name);
652
+ }
653
+ /*#__NO_SIDE_EFFECTS__*/
620
654
  function createCustomError(name, constructCb, errorBase) {
621
655
  var theBaseClass = errorBase || Error;
622
656
  var orgName = theBaseClass[PROTOTYPE][NAME];
623
657
  var captureFn = Error.captureStackTrace;
624
658
  return _createCustomError(name, function () {
625
659
  var _this = this;
660
+ var theArgs = arguments;
626
661
  try {
627
- _safeSetName(theBaseClass, name);
628
- var _self = fnApply(theBaseClass, _this, arrSlice(arguments)) || _this;
662
+ safe(_setName, [theBaseClass, name]);
663
+ var _self = fnApply(theBaseClass, _this, ArrSlice[CALL](theArgs)) || _this;
629
664
  if (_self !== _this) {
630
665
  var orgProto = objGetPrototypeOf(_this);
631
666
  if (orgProto !== objGetPrototypeOf(_self)) {
@@ -633,22 +668,25 @@
633
668
  }
634
669
  }
635
670
  captureFn && captureFn(_self, _this[CONSTRUCTOR]);
636
- constructCb && constructCb(_self, arguments);
671
+ constructCb && constructCb(_self, theArgs);
637
672
  return _self;
638
673
  }
639
674
  finally {
640
- _safeSetName(theBaseClass, orgName);
675
+ safe(_setName, [theBaseClass, orgName]);
641
676
  }
642
677
  }, theBaseClass);
643
678
  }
644
679
 
680
+ /*#__NO_SIDE_EFFECTS__*/
645
681
  function utcNow() {
646
682
  return (Date.now || polyUtcNow)();
647
683
  }
684
+ /*#__NO_SIDE_EFFECTS__*/
648
685
  function polyUtcNow() {
649
686
  return new Date().getTime();
650
687
  }
651
688
 
689
+ /*#__NO_SIDE_EFFECTS__*/
652
690
  function _createTrimFn(exp) {
653
691
  return function _doTrim(value) {
654
692
  if (isNullOrUndefined(value)) {
@@ -660,13 +698,14 @@
660
698
  return value;
661
699
  };
662
700
  }
663
- var polyStrTrim = _createTrimFn(/^\s+|(?=\s)\s+$/g);
701
+ var polyStrTrim = ( /*#__PURE__*/_createTrimFn(/^\s+|(?=\s)\s+$/g));
664
702
 
665
- var strTrim = _unwrapFunctionWithPoly("trim", StrProto, polyStrTrim);
703
+ var strTrim = ( /*#__PURE__*/_unwrapFunctionWithPoly("trim", StrProto, polyStrTrim));
666
704
 
667
705
  var _fnToString;
668
706
  var _objCtrFnString;
669
707
  var _gblWindow;
708
+ /*#__NO_SIDE_EFFECTS__*/
670
709
  function isPlainObject(value) {
671
710
  if (!value || typeof value !== OBJECT) {
672
711
  return false;
@@ -677,8 +716,8 @@
677
716
  var result = false;
678
717
  if (value !== _gblWindow) {
679
718
  if (!_objCtrFnString) {
680
- _fnToString = Function[PROTOTYPE].toString;
681
- _objCtrFnString = fnCall(_fnToString, ObjClass$1);
719
+ _fnToString = Function[PROTOTYPE][TO_STRING];
720
+ _objCtrFnString = _fnToString[CALL](ObjClass$1);
682
721
  }
683
722
  try {
684
723
  var proto = objGetPrototypeOf(value);
@@ -687,7 +726,7 @@
687
726
  if (objHasOwnProperty(proto, CONSTRUCTOR)) {
688
727
  proto = proto[CONSTRUCTOR];
689
728
  }
690
- result = proto && typeof proto === FUNCTION && _fnToString.call(proto) === _objCtrFnString;
729
+ result = proto && typeof proto === FUNCTION && _fnToString[CALL](proto) === _objCtrFnString;
691
730
  }
692
731
  }
693
732
  catch (ex) {
@@ -696,16 +735,18 @@
696
735
  return result;
697
736
  }
698
737
 
699
- var _defaultDeepCopyHandler = function (details) {
738
+ /*#__NO_SIDE_EFFECTS__*/
739
+ function _defaultDeepCopyHandler(details) {
700
740
  details.value && plainObjDeepCopyHandler(details);
701
741
  return true;
702
- };
742
+ }
703
743
  var defaultDeepCopyHandlers = [
704
744
  arrayDeepCopyHandler,
705
745
  plainObjDeepCopyHandler,
706
746
  functionDeepCopyHandler,
707
747
  dateDeepCopyHandler
708
748
  ];
749
+ /*#__NO_SIDE_EFFECTS__*/
709
750
  function _getSetVisited(visitMap, source, newPath, cb) {
710
751
  var theEntry;
711
752
  arrForEach(visitMap, function (entry) {
@@ -765,12 +806,12 @@
765
806
  });
766
807
  var idx = 0;
767
808
  var handler = userHandler;
768
- while (!fnCall(handler || (idx < defaultDeepCopyHandlers.length ? defaultDeepCopyHandlers[idx++] : _defaultDeepCopyHandler), ctx, details)) {
809
+ while (!(handler || (idx < defaultDeepCopyHandlers.length ? defaultDeepCopyHandlers[idx++] : _defaultDeepCopyHandler))[CALL](ctx, details)) {
769
810
  handler = NULL_VALUE;
770
811
  }
771
812
  });
772
813
  }
773
- if (userHandler && fnCall(userHandler, ctx, details)) {
814
+ if (userHandler && userHandler[CALL](ctx, details)) {
774
815
  return details.result;
775
816
  }
776
817
  return value;
@@ -791,6 +832,7 @@
791
832
  };
792
833
  return _copyProps([], target, source, ctx);
793
834
  }
835
+ /*#__NO_SIDE_EFFECTS__*/
794
836
  function objDeepCopy(source, handler) {
795
837
  var ctx = {
796
838
  handler: handler,
@@ -839,75 +881,70 @@
839
881
  return target;
840
882
  }
841
883
  function deepExtend(target, obj1, obj2, obj3, obj4, obj5, obj6) {
842
- return _doExtend(objDeepCopy(target) || {}, arrSlice(arguments));
884
+ return _doExtend(objDeepCopy(target) || {}, ArrSlice[CALL](arguments));
843
885
  }
844
886
 
845
- var getLength = _unwrapProp(LENGTH);
887
+ var getLength = ( /*#__PURE__*/_unwrapProp(LENGTH));
846
888
 
847
- var strEndsWith = _unwrapFunctionWithPoly("endsWith", StrProto, polyStrEndsWith);
889
+ var strEndsWith = ( /*#__PURE__*/_unwrapFunctionWithPoly("endsWith", StrProto, polyStrEndsWith));
890
+ /*#__NO_SIDE_EFFECTS__*/
848
891
  function polyStrEndsWith(value, searchString, length) {
849
892
  if (!isString(value)) {
850
893
  throwTypeError("'" + dumpObj(value) + "' is not a string");
851
894
  }
852
895
  var searchValue = isString(searchString) ? searchString : asString(searchString);
853
- var chkLen = searchValue[LENGTH];
854
- var len = value[LENGTH];
855
- var end = !isUndefined(length) && length < len ? length : len;
856
- return strSubstring(value, end - chkLen, end) === searchValue;
896
+ var end = !isUndefined(length) && length < value[LENGTH] ? length : value[LENGTH];
897
+ return strSubstring(value, end - searchValue[LENGTH], end) === searchValue;
857
898
  }
858
899
 
859
- var strIndexOf = _unwrapFunction(INDEX_OF, StrProto);
900
+ var strIndexOf = ( /*#__PURE__*/_unwrapFunction("indexOf", StrProto));
860
901
 
861
902
  var REF = "ref";
862
- var UNREF = "un" + REF;
903
+ var UNREF = "unref";
863
904
  var HAS_REF = "hasRef";
864
905
  var ENABLED = "enabled";
906
+ /*#__NO_SIDE_EFFECTS__*/
865
907
  function _createTimerHandler(startTimer, refreshFn, cancelFn) {
866
- var _a;
867
908
  var ref = true;
868
909
  var timerId = startTimer ? refreshFn(NULL_VALUE) : NULL_VALUE;
869
910
  var theTimerHandler;
870
- var _unref = function () {
911
+ function _unref() {
871
912
  ref = false;
872
913
  timerId && timerId[UNREF] && timerId[UNREF]();
873
914
  return theTimerHandler;
874
- };
875
- var _ref = function () {
876
- ref = true;
877
- timerId && timerId[REF] && timerId[REF]();
915
+ }
916
+ function _cancel() {
917
+ timerId && cancelFn(timerId);
918
+ timerId = NULL_VALUE;
919
+ }
920
+ function _refresh() {
921
+ timerId = refreshFn(timerId);
922
+ if (!ref) {
923
+ _unref();
924
+ }
878
925
  return theTimerHandler;
926
+ }
927
+ function _setEnabled(value) {
928
+ !value && timerId && _cancel();
929
+ value && !timerId && _refresh();
930
+ }
931
+ theTimerHandler = {
932
+ cancel: _cancel,
933
+ refresh: _refresh
879
934
  };
880
- var _hasRef = function () {
935
+ theTimerHandler[HAS_REF] = function () {
881
936
  if (timerId && timerId[HAS_REF]) {
882
937
  return timerId[HAS_REF]();
883
938
  }
884
939
  return ref;
885
940
  };
886
- var _refresh = function () {
887
- timerId = refreshFn(timerId);
888
- if (!ref) {
889
- _unref();
890
- }
941
+ theTimerHandler[REF] = function () {
942
+ ref = true;
943
+ timerId && timerId[REF] && timerId[REF]();
891
944
  return theTimerHandler;
892
945
  };
893
- var _cancel = function () {
894
- timerId && cancelFn(timerId);
895
- timerId = NULL_VALUE;
896
- };
897
- var _setEnabled = function (value) {
898
- !value && timerId && _cancel();
899
- value && !timerId && _refresh();
900
- };
901
- theTimerHandler = (_a = {
902
- cancel: _cancel,
903
- refresh: _refresh
904
- },
905
- _a[HAS_REF] = _hasRef,
906
- _a[REF] = _ref,
907
- _a[UNREF] = _unref,
908
- _a[ENABLED] = false,
909
- _a);
910
- objDefineProp(theTimerHandler, ENABLED, {
946
+ theTimerHandler[UNREF] = _unref;
947
+ theTimerHandler = objDefineProp(theTimerHandler, ENABLED, {
911
948
  get: function () { return !!timerId; },
912
949
  set: _setEnabled
913
950
  });
@@ -919,7 +956,7 @@
919
956
  };
920
957
  }
921
958
 
922
- function _createTimeoutWith(self, startTimer, overrideFn, theArgs) {
959
+ function _createTimeoutWith(startTimer, overrideFn, theArgs) {
923
960
  var isArr = isArray(overrideFn);
924
961
  var len = isArr ? overrideFn.length : 0;
925
962
  var setFn = (len > 0 ? overrideFn[0] : (!isArr ? overrideFn : UNDEF_VALUE)) || setTimeout;
@@ -927,7 +964,7 @@
927
964
  var timerFn = theArgs[0];
928
965
  theArgs[0] = function () {
929
966
  handler.dn();
930
- fnApply(timerFn, self, arrSlice(arguments));
967
+ fnApply(timerFn, UNDEF_VALUE, ArrSlice[CALL](arguments));
931
968
  };
932
969
  var handler = _createTimerHandler(startTimer, function (timerId) {
933
970
  if (timerId) {
@@ -935,19 +972,19 @@
935
972
  timerId.refresh();
936
973
  return timerId;
937
974
  }
938
- fnApply(clearFn, self, [timerId]);
975
+ fnApply(clearFn, UNDEF_VALUE, [timerId]);
939
976
  }
940
- return fnApply(setFn, self, theArgs);
977
+ return fnApply(setFn, UNDEF_VALUE, theArgs);
941
978
  }, function (timerId) {
942
- fnApply(clearFn, self, [timerId]);
979
+ fnApply(clearFn, UNDEF_VALUE, [timerId]);
943
980
  });
944
981
  return handler.h;
945
982
  }
946
983
  function scheduleTimeout(callback, timeout) {
947
- return _createTimeoutWith(this, true, UNDEF_VALUE, arrSlice(arguments));
984
+ return _createTimeoutWith(true, UNDEF_VALUE, ArrSlice[CALL](arguments));
948
985
  }
949
986
  function createTimeout(callback, timeout) {
950
- return _createTimeoutWith(this, false, UNDEF_VALUE, arrSlice(arguments));
987
+ return _createTimeoutWith(false, UNDEF_VALUE, ArrSlice[CALL](arguments));
951
988
  }
952
989
 
953
990
  var _a$5;
@@ -1020,13 +1057,13 @@
1020
1057
  }
1021
1058
  }
1022
1059
  function _isDynamicCandidate(target, funcName, skipOwn) {
1023
- return (funcName !== Constructor && typeof target[funcName] === strFunction && (skipOwn || objHasOwnProperty(target, funcName)));
1060
+ return (funcName !== Constructor && typeof target[funcName] === strFunction && (skipOwn || objHasOwnProperty(target, funcName)) && funcName !== str__Proto && funcName !== Prototype);
1024
1061
  }
1025
1062
  function _throwTypeError(message) {
1026
1063
  throwTypeError("DynamicProto: " + message);
1027
1064
  }
1028
1065
  function _getInstanceFuncs(thisTarget) {
1029
- var instFuncs = {};
1066
+ var instFuncs = objCreate(null);
1030
1067
  _forEachProp(thisTarget, function (name) {
1031
1068
  if (!instFuncs[name] && _isDynamicCandidate(thisTarget, name, false)) {
1032
1069
  instFuncs[name] = thisTarget[name];
@@ -1055,7 +1092,7 @@
1055
1092
  return theFunc.apply(target, arguments);
1056
1093
  };
1057
1094
  }
1058
- var baseFuncs = {};
1095
+ var baseFuncs = objCreate(null);
1059
1096
  _forEachProp(instFuncs, function (name) {
1060
1097
  baseFuncs[name] = _instFuncProxy(thisTarget, instFuncs, name);
1061
1098
  });
@@ -1075,8 +1112,8 @@
1075
1112
  function _getInstFunc(target, funcName, proto, currentDynProtoProxy) {
1076
1113
  var instFunc = null;
1077
1114
  if (target && objHasOwnProperty(proto, DynClassName)) {
1078
- var instFuncTable = target[DynInstFuncTable] || {};
1079
- instFunc = (instFuncTable[proto[DynClassName]] || {})[funcName];
1115
+ var instFuncTable = target[DynInstFuncTable] || objCreate(null);
1116
+ instFunc = (instFuncTable[proto[DynClassName]] || objCreate(null))[funcName];
1080
1117
  if (!instFunc) {
1081
1118
  _throwTypeError("Missing [" + funcName + "] " + strFunction);
1082
1119
  }
@@ -1126,20 +1163,24 @@
1126
1163
  return dynProtoProxy;
1127
1164
  }
1128
1165
  if (!_isObjectOrArrayPrototype(proto)) {
1129
- var instFuncTable = target[DynInstFuncTable] = target[DynInstFuncTable] || {};
1130
- var instFuncs_1 = instFuncTable[className] = (instFuncTable[className] || {});
1131
- if (instFuncTable[DynAllowInstChkTag] !== false) {
1132
- instFuncTable[DynAllowInstChkTag] = !!setInstanceFunc;
1133
- }
1134
- _forEachProp(target, function (name) {
1135
- if (_isDynamicCandidate(target, name, false) && target[name] !== baseInstFuncs[name]) {
1136
- instFuncs_1[name] = target[name];
1137
- delete target[name];
1138
- if (!objHasOwnProperty(proto, name) || (proto[name] && !proto[name][DynProxyTag])) {
1139
- proto[name] = _createDynamicPrototype(proto, name);
1140
- }
1166
+ var instFuncTable = target[DynInstFuncTable] = target[DynInstFuncTable] || objCreate(null);
1167
+ if (!_isObjectOrArrayPrototype(instFuncTable)) {
1168
+ var instFuncs_1 = instFuncTable[className] = (instFuncTable[className] || objCreate(null));
1169
+ if (instFuncTable[DynAllowInstChkTag] !== false) {
1170
+ instFuncTable[DynAllowInstChkTag] = !!setInstanceFunc;
1171
+ }
1172
+ if (!_isObjectOrArrayPrototype(instFuncs_1)) {
1173
+ _forEachProp(target, function (name) {
1174
+ if (_isDynamicCandidate(target, name, false) && target[name] !== baseInstFuncs[name]) {
1175
+ instFuncs_1[name] = target[name];
1176
+ delete target[name];
1177
+ if (!objHasOwnProperty(proto, name) || (proto[name] && !proto[name][DynProxyTag])) {
1178
+ proto[name] = _createDynamicPrototype(proto, name);
1179
+ }
1180
+ }
1181
+ });
1141
1182
  }
1142
- });
1183
+ }
1143
1184
  }
1144
1185
  }
1145
1186
  function _checkPrototype(classProto, thisTarget) {
@@ -1203,8 +1244,6 @@
1203
1244
  var ObjClass = Object;
1204
1245
  var ObjProto = ObjClass[strShimPrototype];
1205
1246
 
1206
- (getGlobal() || {})["Symbol"];
1207
- (getGlobal() || {})["Reflect"];
1208
1247
  var strHasOwnProperty = "hasOwnProperty";
1209
1248
  var __objAssignFnImpl = function (t) {
1210
1249
  for (var s, i = 1, n = arguments.length; i < n; i++) {
@@ -1269,16 +1308,16 @@
1269
1308
  var _DYN_CANCEL = "cancel";
1270
1309
  var _DYN_INITIALIZE = "initialize";
1271
1310
  var _DYN_IDENTIFIER = "identifier";
1311
+ var _DYN_REMOVE_NOTIFICATION_0 = "removeNotificationListener";
1312
+ var _DYN_ADD_NOTIFICATION_LIS1 = "addNotificationListener";
1272
1313
  var _DYN_IS_INITIALIZED = "isInitialized";
1314
+ var _DYN_GET_NOTIFY_MGR = "getNotifyMgr";
1273
1315
  var _DYN_GET_PLUGIN = "getPlugin";
1274
1316
  var _DYN_POLL_INTERNAL_LOGS = "pollInternalLogs";
1275
1317
  var _DYN_NAME$2 = "name";
1276
1318
  var _DYN_TIME = "time";
1277
1319
  var _DYN_PROCESS_NEXT = "processNext";
1278
- var _DYN_GET_PROCESS_TEL_CONT0 = "getProcessTelContext";
1279
- var _DYN_GET_NOTIFY_MGR = "getNotifyMgr";
1280
- var _DYN_ADD_NOTIFICATION_LIS1 = "addNotificationListener";
1281
- var _DYN_REMOVE_NOTIFICATION_2 = "removeNotificationListener";
1320
+ var _DYN_GET_PROCESS_TEL_CONT2 = "getProcessTelContext";
1282
1321
  var _DYN_ENABLED = "enabled";
1283
1322
  var _DYN_STOP_POLLING_INTERNA3 = "stopPollingInternalLogs";
1284
1323
  var _DYN_UNLOAD = "unload";
@@ -1328,15 +1367,15 @@
1328
1367
 
1329
1368
  function doAwaitResponse(value, cb) {
1330
1369
  return doAwait(value, function (value) {
1331
- cb && cb({
1370
+ return cb ? cb({
1332
1371
  value: value,
1333
1372
  rejected: false
1334
- });
1373
+ }) : value;
1335
1374
  }, function (reason) {
1336
- cb && cb({
1375
+ return cb ? cb({
1337
1376
  rejected: true,
1338
1377
  reason: reason
1339
- });
1378
+ }) : reason;
1340
1379
  });
1341
1380
  }
1342
1381
  function doAwait(value, resolveFn, rejectFn, finallyFn) {
@@ -1347,10 +1386,12 @@
1347
1386
  }
1348
1387
  }
1349
1388
  else {
1350
- resolveFn && resolveFn(value);
1389
+ if (resolveFn) {
1390
+ result = resolveFn(value);
1391
+ }
1351
1392
  }
1352
1393
  if (finallyFn) {
1353
- result = doFinally(result, finallyFn);
1394
+ doFinally(result, finallyFn);
1354
1395
  }
1355
1396
  return result;
1356
1397
  }
@@ -2041,7 +2082,7 @@
2041
2082
  return result;
2042
2083
  }
2043
2084
 
2044
- var version = '3.0.7';
2085
+ var version = '3.0.9';
2045
2086
  var instanceName = "." + newId(6);
2046
2087
  var _dataUid = 0;
2047
2088
  function _canAcceptData(target) {
@@ -2600,6 +2641,7 @@
2600
2641
  configHandler = null;
2601
2642
  }
2602
2643
  };
2644
+ objDefine(handler, "toJSON", { v: function () { return "WatcherHandler" + (handler.fn ? "" : "[X]"); } });
2603
2645
  state.use(handler, configHandler);
2604
2646
  return handler;
2605
2647
  }
@@ -3261,18 +3303,26 @@
3261
3303
  var defaultValues$1 = {
3262
3304
  perfEvtsSendAll: false
3263
3305
  };
3264
- function _runListeners(listeners, name, isAsync, callback) {
3306
+ function _runScheduledListeners(asyncNotifications) {
3307
+ asyncNotifications.h = null;
3308
+ var callbacks = asyncNotifications.cb;
3309
+ asyncNotifications.cb = [];
3310
+ arrForEach(callbacks, function (cb) {
3311
+ safe(cb.fn, [cb.arg]);
3312
+ });
3313
+ }
3314
+ function _runListeners(listeners, name, asyncNotifications, callback) {
3265
3315
  arrForEach(listeners, function (listener) {
3266
3316
  if (listener && listener[name]) {
3267
- if (isAsync) {
3268
- scheduleTimeout(function () { return callback(listener); }, 0);
3317
+ if (asyncNotifications) {
3318
+ asyncNotifications.cb[_DYN_PUSH$1 ]({
3319
+ fn: callback,
3320
+ arg: listener
3321
+ });
3322
+ asyncNotifications.h = asyncNotifications.h || scheduleTimeout(_runScheduledListeners, 0, asyncNotifications);
3269
3323
  }
3270
3324
  else {
3271
- try {
3272
- callback(listener);
3273
- }
3274
- catch (e) {
3275
- }
3325
+ safe(callback, [listener]);
3276
3326
  }
3277
3327
  }
3278
3328
  });
@@ -3283,6 +3333,10 @@
3283
3333
  var perfEvtsSendAll;
3284
3334
  var unloadHandler;
3285
3335
  var _listeners = [];
3336
+ var _asyncNotifications = {
3337
+ h: null,
3338
+ cb: []
3339
+ };
3286
3340
  var cfgHandler = createDynamicConfig(config, defaultValues$1);
3287
3341
  unloadHandler = cfgHandler[_DYN_WATCH ](function (details) {
3288
3342
  perfEvtsSendAll = !!details.cfg.perfEvtsSendAll;
@@ -3294,7 +3348,7 @@
3294
3348
  _self[_DYN_ADD_NOTIFICATION_LIS1 ] = function (listener) {
3295
3349
  _listeners[_DYN_PUSH$1 ](listener);
3296
3350
  };
3297
- _self[_DYN_REMOVE_NOTIFICATION_2 ] = function (listener) {
3351
+ _self[_DYN_REMOVE_NOTIFICATION_0 ] = function (listener) {
3298
3352
  var index = arrIndexOf(_listeners, listener);
3299
3353
  while (index > -1) {
3300
3354
  _listeners[_DYN_SPLICE ](index, 1);
@@ -3302,24 +3356,24 @@
3302
3356
  }
3303
3357
  };
3304
3358
  _self[STR_EVENTS_SENT ] = function (events) {
3305
- _runListeners(_listeners, STR_EVENTS_SENT, true, function (listener) {
3359
+ _runListeners(_listeners, STR_EVENTS_SENT, _asyncNotifications, function (listener) {
3306
3360
  listener[STR_EVENTS_SENT ](events);
3307
3361
  });
3308
3362
  };
3309
3363
  _self[STR_EVENTS_DISCARDED ] = function (events, reason) {
3310
- _runListeners(_listeners, STR_EVENTS_DISCARDED, true, function (listener) {
3364
+ _runListeners(_listeners, STR_EVENTS_DISCARDED, _asyncNotifications, function (listener) {
3311
3365
  listener[STR_EVENTS_DISCARDED ](events, reason);
3312
3366
  });
3313
3367
  };
3314
3368
  _self[STR_EVENTS_SEND_REQUEST ] = function (sendReason, isAsync) {
3315
- _runListeners(_listeners, STR_EVENTS_SEND_REQUEST, isAsync, function (listener) {
3369
+ _runListeners(_listeners, STR_EVENTS_SEND_REQUEST, isAsync ? _asyncNotifications : null, function (listener) {
3316
3370
  listener[STR_EVENTS_SEND_REQUEST ](sendReason, isAsync);
3317
3371
  });
3318
3372
  };
3319
3373
  _self[STR_PERF_EVENT ] = function (perfEvent) {
3320
3374
  if (perfEvent) {
3321
3375
  if (perfEvtsSendAll || !perfEvent[_DYN_IS_CHILD_EVT ]()) {
3322
- _runListeners(_listeners, STR_PERF_EVENT, false, function (listener) {
3376
+ _runListeners(_listeners, STR_PERF_EVENT, null, function (listener) {
3323
3377
  if (perfEvent[_DYN_IS_ASYNC ]) {
3324
3378
  scheduleTimeout(function () { return listener[STR_PERF_EVENT ](perfEvent); }, 0);
3325
3379
  }
@@ -3335,9 +3389,12 @@
3335
3389
  unloadHandler && unloadHandler.rm();
3336
3390
  unloadHandler = null;
3337
3391
  _listeners = [];
3392
+ _asyncNotifications.h && _asyncNotifications.h[_DYN_CANCEL ]();
3393
+ _asyncNotifications.h = null;
3394
+ _asyncNotifications.cb = [];
3338
3395
  };
3339
3396
  var waiting;
3340
- _runListeners(_listeners, "unload", false, function (listener) {
3397
+ _runListeners(_listeners, "unload", null, function (listener) {
3341
3398
  var asyncUnload = listener[_DYN_UNLOAD ](isAsync);
3342
3399
  if (asyncUnload) {
3343
3400
  if (!waiting) {
@@ -4146,7 +4203,7 @@
4146
4203
  function _setDefaults(config, core, pluginChain) {
4147
4204
  createDynamicConfig(config, defaultValues, safeGetLogger(core));
4148
4205
  if (!pluginChain && core) {
4149
- pluginChain = core[_DYN_GET_PROCESS_TEL_CONT0 ]()[_DYN_GET_NEXT ]();
4206
+ pluginChain = core[_DYN_GET_PROCESS_TEL_CONT2 ]()[_DYN_GET_NEXT ]();
4150
4207
  }
4151
4208
  var nextPlugin = _nextPlugin;
4152
4209
  if (_nextPlugin && _nextPlugin[strGetPlugin]) {
@@ -4350,6 +4407,27 @@
4350
4407
  };
4351
4408
  });
4352
4409
  }
4410
+ function _initDebugListener(configHandler, unloadContainer, notificationManager, debugListener) {
4411
+ unloadContainer.add(configHandler[_DYN_WATCH ](function (details) {
4412
+ var disableDbgExt = details.cfg.disableDbgExt;
4413
+ if (disableDbgExt === true && debugListener) {
4414
+ notificationManager[_DYN_REMOVE_NOTIFICATION_0 ](debugListener);
4415
+ debugListener = null;
4416
+ }
4417
+ if (notificationManager && !debugListener && disableDbgExt !== true) {
4418
+ debugListener = getDebugListener(details.cfg);
4419
+ notificationManager[_DYN_ADD_NOTIFICATION_LIS1 ](debugListener);
4420
+ }
4421
+ }));
4422
+ return debugListener;
4423
+ }
4424
+ function _createUnloadHook(unloadHook) {
4425
+ return objDefine({
4426
+ rm: function () {
4427
+ unloadHook.rm();
4428
+ }
4429
+ }, "toJSON", { v: function () { return "aicore::onCfgChange<" + JSON.stringify(unloadHook) + ">"; } });
4430
+ }
4353
4431
  var AppInsightsCore = /** @class */ (function () {
4354
4432
  function AppInsightsCore() {
4355
4433
  var _configHandler;
@@ -4406,7 +4484,7 @@
4406
4484
  }
4407
4485
  }));
4408
4486
  _notificationManager = notificationManager;
4409
- _initDebugListener();
4487
+ _debugListener = _initDebugListener(_configHandler, _hookContainer, _notificationManager && _self[_DYN_GET_NOTIFY_MGR ](), _debugListener);
4410
4488
  _initPerfManager();
4411
4489
  _self[_DYN_LOGGER ] = logger;
4412
4490
  var cfgExtensions = config[STR_EXTENSIONS ];
@@ -4459,7 +4537,7 @@
4459
4537
  }
4460
4538
  }, function () { return ({ item: telemetryItem }); }, !(telemetryItem.sync));
4461
4539
  };
4462
- _self[_DYN_GET_PROCESS_TEL_CONT0 ] = _createTelCtx;
4540
+ _self[_DYN_GET_PROCESS_TEL_CONT2 ] = _createTelCtx;
4463
4541
  _self[_DYN_GET_NOTIFY_MGR ] = function () {
4464
4542
  if (!_notificationManager) {
4465
4543
  _notificationManager = new NotificationManager(_configHandler.cfg);
@@ -4468,11 +4546,11 @@
4468
4546
  return _notificationManager;
4469
4547
  };
4470
4548
  _self[_DYN_ADD_NOTIFICATION_LIS1 ] = function (listener) {
4471
- _self[_DYN_GET_NOTIFY_MGR ]()[_DYN_ADD_NOTIFICATION_LIS1 ](listener);
4549
+ _self.getNotifyMgr()[_DYN_ADD_NOTIFICATION_LIS1 ](listener);
4472
4550
  };
4473
- _self[_DYN_REMOVE_NOTIFICATION_2 ] = function (listener) {
4551
+ _self[_DYN_REMOVE_NOTIFICATION_0 ] = function (listener) {
4474
4552
  if (_notificationManager) {
4475
- _notificationManager[_DYN_REMOVE_NOTIFICATION_2 ](listener);
4553
+ _notificationManager[_DYN_REMOVE_NOTIFICATION_0 ](listener);
4476
4554
  }
4477
4555
  };
4478
4556
  _self.getCookieMgr = function () {
@@ -4488,16 +4566,6 @@
4488
4566
  }
4489
4567
  };
4490
4568
  _self[STR_GET_PERF_MGR ] = function () {
4491
- if (!_perfManager && !_cfgPerfManager) {
4492
- _addUnloadHook(_configHandler[_DYN_WATCH ](function (details) {
4493
- if (details.cfg.enablePerfMgr) {
4494
- var createPerfMgr = details.cfg[STR_CREATE_PERF_MGR ];
4495
- if (isFunction(createPerfMgr)) {
4496
- _cfgPerfManager = createPerfMgr(_self, _self[_DYN_GET_NOTIFY_MGR ]());
4497
- }
4498
- }
4499
- }));
4500
- }
4501
4569
  return _perfManager || _cfgPerfManager || getGblPerfMgr();
4502
4570
  };
4503
4571
  _self.setPerfMgr = function (perfMgr) {
@@ -4692,11 +4760,7 @@
4692
4760
  else {
4693
4761
  unloadHook = onConfigChange(_configHandler.cfg, handler, _self[_DYN_LOGGER ]);
4694
4762
  }
4695
- return {
4696
- rm: function () {
4697
- unloadHook.rm();
4698
- }
4699
- };
4763
+ return _createUnloadHook(unloadHook);
4700
4764
  };
4701
4765
  _self.getWParam = function () {
4702
4766
  return (hasDocument() || !!_configHandler.cfg.enableWParam) ? 0 : -1;
@@ -4796,6 +4860,8 @@
4796
4860
  _pluginVersionString = null;
4797
4861
  _pluginVersionStringArr = null;
4798
4862
  _forceStopInternalLogPoller = false;
4863
+ _internalLogPoller = null;
4864
+ _internalLogPollerListening = false;
4799
4865
  }
4800
4866
  function _createTelCtx() {
4801
4867
  var theCtx = createProcessTelemetryContext(_getPluginChain(), _configHandler.cfg, _self);
@@ -4990,28 +5056,27 @@
4990
5056
  doCallback();
4991
5057
  return true;
4992
5058
  }
4993
- function _initDebugListener() {
4994
- !_notificationManager && _self[_DYN_GET_NOTIFY_MGR ]();
4995
- _addUnloadHook(_configHandler[_DYN_WATCH ](function (details) {
4996
- var disableDbgExt = details.cfg.disableDbgExt;
4997
- if (disableDbgExt === true && _debugListener) {
4998
- _notificationManager[_DYN_REMOVE_NOTIFICATION_2 ](_debugListener);
4999
- _debugListener = null;
5000
- }
5001
- if (_notificationManager && !_debugListener && disableDbgExt !== true) {
5002
- _debugListener = getDebugListener(details.cfg);
5003
- _notificationManager[_DYN_ADD_NOTIFICATION_LIS1 ](_debugListener);
5004
- }
5005
- }));
5006
- }
5007
5059
  function _initPerfManager() {
5060
+ var prevCfgPerfMgr;
5008
5061
  _addUnloadHook(_configHandler[_DYN_WATCH ](function (details) {
5009
5062
  var enablePerfMgr = details.cfg.enablePerfMgr;
5010
- if (!enablePerfMgr && _cfgPerfManager) {
5011
- _cfgPerfManager = null;
5012
- }
5013
5063
  if (enablePerfMgr) {
5014
- getSetValue(details.cfg, STR_CREATE_PERF_MGR, _createPerfManager);
5064
+ var createPerfMgr = details.cfg[STR_CREATE_PERF_MGR ];
5065
+ if (prevCfgPerfMgr !== createPerfMgr) {
5066
+ if (!createPerfMgr) {
5067
+ createPerfMgr = _createPerfManager;
5068
+ }
5069
+ getSetValue(details.cfg, STR_CREATE_PERF_MGR, createPerfMgr);
5070
+ prevCfgPerfMgr = createPerfMgr;
5071
+ _cfgPerfManager = null;
5072
+ }
5073
+ if (!_perfManager && !_cfgPerfManager && isFunction(createPerfMgr)) {
5074
+ _cfgPerfManager = createPerfMgr(_self, _self[_DYN_GET_NOTIFY_MGR ]());
5075
+ }
5076
+ }
5077
+ else {
5078
+ _cfgPerfManager = null;
5079
+ prevCfgPerfMgr = null;
5015
5080
  }
5016
5081
  }));
5017
5082
  }
@@ -5478,11 +5543,6 @@
5478
5543
  LocalStorage: 0 ,
5479
5544
  SessionStorage: 1
5480
5545
  });
5481
- createEnumStyle({
5482
- AI: 0 ,
5483
- AI_AND_W3C: 1 ,
5484
- W3C: 2
5485
- });
5486
5546
 
5487
5547
  var _canUseSessionStorage = undefined;
5488
5548
  var _storagePrefix = "";
@@ -6555,7 +6615,7 @@
6555
6615
  }
6556
6616
  }
6557
6617
  var EnvelopeCreator = {
6558
- Version: '3.0.7'
6618
+ Version: '3.0.9'
6559
6619
  };
6560
6620
  function DependencyEnvelopeCreator(logger, telemetryItem, customUndefinedValue) {
6561
6621
  EnvelopeCreatorInit(logger, telemetryItem);
@@ -7229,7 +7289,7 @@
7229
7289
  _a[_DYN_ENABLE_SESSION_STORA5 ] = cfgDfBoolean(true),
7230
7290
  _a.isRetryDisabled = cfgDfBoolean(),
7231
7291
  _a[_DYN_IS_BEACON_API_DISABL3 ] = cfgDfBoolean(true),
7232
- _a[_DYN_DISABLE_SEND_BEACON_7 ] = cfgDfBoolean(),
7292
+ _a[_DYN_DISABLE_SEND_BEACON_7 ] = cfgDfBoolean(true),
7233
7293
  _a.disableXhr = cfgDfBoolean(),
7234
7294
  _a[_DYN_ONUNLOAD_DISABLE_FET6 ] = cfgDfBoolean(),
7235
7295
  _a[_DYN_ONUNLOAD_DISABLE_BEA2 ] = cfgDfBoolean(),
@@ -7242,6 +7302,7 @@
7242
7302
  _a[_DYN_BUFFER_OVERRIDE ] = false,
7243
7303
  _a.httpXHROverride = { isVal: isOverrideFn, v: UNDEFINED_VALUE },
7244
7304
  _a[_DYN_ALWAYS_USE_XHR_OVERR4 ] = cfgDfBoolean(),
7305
+ _a.retryCodes = UNDEFINED_VALUE,
7245
7306
  _a));
7246
7307
  function _chkSampling(value) {
7247
7308
  return !isNaN(value) && value > 0 && value <= 100;
@@ -7292,6 +7353,7 @@
7292
7353
  var _xhrSend;
7293
7354
  var _fallbackSend;
7294
7355
  var _disableBeaconSplit;
7356
+ var _retryCodes;
7295
7357
  dynamicProto(Sender, _this, function (_self, _base) {
7296
7358
  _initDefaults();
7297
7359
  _self.pause = function () {
@@ -7374,6 +7436,7 @@
7374
7436
  _beaconSupported = (senderConfig[_DYN_ONUNLOAD_DISABLE_BEA2 ] === false || senderConfig[_DYN_IS_BEACON_API_DISABL3 ] === false) && isBeaconsSupported();
7375
7437
  _alwaysUseCustomSend = senderConfig[_DYN_ALWAYS_USE_XHR_OVERR4 ];
7376
7438
  _disableXhr = !!senderConfig.disableXhr;
7439
+ _retryCodes = senderConfig.retryCodes;
7377
7440
  var bufferOverride = senderConfig[_DYN_BUFFER_OVERRIDE ];
7378
7441
  var canUseSessionStorage = !!senderConfig[_DYN_ENABLE_SESSION_STORA5 ] &&
7379
7442
  (!!bufferOverride || utlCanUseSessionStorage());
@@ -7770,6 +7833,7 @@
7770
7833
  }
7771
7834
  else {
7772
7835
  var payloadData = _getPayload(payload);
7836
+ _self._buffer[_DYN_MARK_AS_SENT ](payload);
7773
7837
  _beaconSender(payloadData);
7774
7838
  }
7775
7839
  }
@@ -8022,8 +8086,10 @@
8022
8086
  _retryAt = null;
8023
8087
  }
8024
8088
  function _isRetriable(statusCode) {
8089
+ if (!isNullOrUndefined(_retryCodes)) {
8090
+ return _retryCodes[_DYN_LENGTH ] && arrIndexOf(_retryCodes, statusCode) > -1;
8091
+ }
8025
8092
  return statusCode === 401
8026
- || statusCode === 403
8027
8093
  || statusCode === 408
8028
8094
  || statusCode === 429
8029
8095
  || statusCode === 500